Я привык к этому:
class Db {
_Commit(char *file, int line) {
Log("Commit called from %s:%d", file, line);
}
};
#define Commit() _Commit(__FILE__, __LINE__)
но большая проблема в том, что я переопределяю слово Commit
глобально, а в инфраструктуре приложений 400 тыс. строк это проблема. И я не хочу использовать определенное слово, например DbCommit
: мне не нравятся сокращения, например db->DbCommit()
, или для передачи значений вручную везде: db->Commit(__FILE__, __LINE__)
хуже.
Итак, любой совет?