log4cxx模式%l
将输出源文件名及其日志路径,如果源文件位于深层目录中,则在使用绝对路径编译时,会使读取起来感到不舒服。
2012-11-20 15:59:14,184 0x7f7ae90e27c0 TRACE fogs.common (/home/jw/fogs/d_common/net/inc/amf3conn.hpp:158) - Entering setCallbackObjBuffer
有没有办法只在日志中输出amf3conn.hpp:158
,以缩短日志行?
答案 0 :(得分:2)
我认为这不可能是开箱即用的。根据{{3}},您可以使用%l
或%F
,但%F
仅丢弃行号并仍然打印路径。
您有两种选择:
PatternLayout
并实现您自己的位置转换处理,丢弃路径并仅使用文件名%.20l
,这样会导致inc/amf3conn.hpp:158
。如果您选择最长源文件名的长度,则无论如何都会得到完整的文件名(可能前面带有部分路径)