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
在日志中输出,以缩短日志行?
我不认为这是开箱即用的。根据API docs,您可以使用%l
或%F
,但%F
仅丢弃行号并仍打印路径。
您有两种选择:
PatternLayout
化并实现您自己的位置转换处理,丢弃路径并仅使用文件名%.20l
或者使用长度修饰符来设置位置的最大长度,就像inc/amf3conn.hpp:158
你的情况一样。如果您选择最长的源文件名的长度,则在任何情况下都将获得完整的文件名(可能以部分路径开头)