JSP页面的log4j的行号打印

时间:2012-02-03 09:54:59

标签: java jsp log4j

我正在使用log4j来登录我的Java项目。我的转换模式如下。

ConversionPattern=%d{MMMMM dd,yyyy HH:mm:ss} %-5p [ %C{1} - %M() - %L ] - %m%n

现在对于所有Java类,它将输出打印为:

February 03,2012 15:18:41 DEBUG [ RadiusClientConfigBean - initialize() - 63 ] - RadiusClientsConfigBean.initialize() Called

但对于JSP页面,它打印为:

February 03,2012 15:19:00 DEBUG [ managevoippolicy_jsp - _jspService() - 443 ] - VoIP Policies = 4

这不是JSP页面的实际行号。如何打印JSP页面的行号。

2 个答案:

答案 0 :(得分:2)

您的JSP被重新编译为servlet类,因此您永远无法将它们与原始页面匹配。

答案 1 :(得分:1)

从JSP确定原始行号的方法是JSR-45 Debugging Support for Other Languages JSP编译器创建一个可以使用的SourceMap(SMAP)。 (我不建议将其用于制作)。

作为一个起点,这个讨论可能会有所帮助:

http://tomcat.10.n6.nabble.com/Read-JSR-045-SMAP-Files-Produced-by-Jasper-td2128534.html