我正在使用log4j进行跟踪。
我使用以下模式进行跟踪:
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{dd-MM HH:mm:ss.SSS} | %X{sid} | [%t] | %F:%M:%L | %-5p | %m%n"/>
</layout>
在一些类中,我希望得到:
[11/4/09 17:03:57:160 IST] 00000012 SystemOut O 04-11 17:03:57.144 | | [server.startup:0] | MainServlet.java:init:79 |调试|测试调试
我的源代码位置错误:
[11/4/09 17:03:57:160 IST] 00000012 SystemOut O 04-11 17:03:57.144 | | [server.startup:0] | ?:init:? |调试|测试调试
在其他一些课程中,我获得了正确的源位置。
我做错了什么?
答案 0 :(得分:1)
也许你的一些课程是根据行信息编译的?如果将“优化”选项-O添加到javac,它将删除行号。
答案 1 :(得分:0)
您是在初始化这些问题类中的记录器还是继承它?例如,你有一条类似于这一行:
protected final Log logger = LogFactory.getLog(getClass());