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