我正在使用 Log4Cxx 进行日志记录,并且我想使用 %l 指令来查看日志跟踪(文件名和行号)在哪里。我遇到的问题是我也在使用为编译器提供完整路径名的CMake 。这会导致日志列不再对齐,并且它们现在难以阅读,因为 log4cxx 使用 __FILE__ 预处理器宏来确定该信息。
有谁知道任何解决方法?我想指定例如仅获取“filename.cpp”或使用嵌套参数更好,例如2嵌套将是“module/submodule/filename.cpp”。似乎 CMake 在设计上与完整路径哲学一起工作,所以我认为这可以通过使用我不知道的预处理器指令或以某种方式欺骗 Log4CXX 来解决。