我想编写记录器类,我想知道是否可行。 考虑:
do_something_funny(&my_cat);
LOG::info("just did something funny with his cat");
cout<< LOG::getAllTxt();
输出:
[0.001s][main.cpp:5] - just did something funny with his cat
查看 main.cpp:5
。它是从该文件的第 5 行记录的
我应该在范围内使用函数,还是创建单例对象?
最佳答案
宏__LINE__
包含当前行号。
请注意,为了有效地使用它,您必须从宏中访问它。如果您只是调用一个日志函数,并且它访问 __LINE__
,它将在日志函数中报告行号。所以你可以定义:
#define LOGINFO(message) (LOG::info((message), __LINE__))
关于c++ - 如何像 assert 那样获取实际的行号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20795181/