我需要在某些日志消息之前自动添加方法名称。我一直在使用__FUNCTION__
来做到这一点,但它会生成方法的完全限定名称(namespace::class:method)。因此,这浪费了大量空间,并使日志的可读性降低。有没有办法在MACRO中仅追加方法名称,而没有任何不必要的限定符?
最佳答案
如果您的日志记录代码如下所示:
#define LOGCALL \
clog << "Called " << __FUNCTION__ << endl;
那么您可以简单地编写一个全局函数以根据需要修剪函数名称,然后说:
#define LOGCALL \
clog << "Called " << MyTrim( __FUNCTION__ ) << endl;
关于c++ - 在宏中生成方法名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3062140/