5

我正在使用以下库进行日志记录:

  • slf4j-api 1.6.4
  • slf4j-log4j12 1.6.4
  • 公共日志记录 1.1.1

和我的log4j.properties文件:

log.dir=logs
rrd.dir=${log.dir}/rrd
datestamp=yyyy-MM-dd/HH:mm:ss.SSS
roll.pattern.hourly=.yyyy-MM-dd.HH
roll.pattern.daily=.yyyy-MM-dd


log4j.rootLogger=ON

log4j.appender.myConsoleAppender=org.apache.log4j.ConsoleAppender
log4j.appender.myConsoleAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.myConsoleAppender.layout.ConversionPattern=%d{${datestamp}} [%t] %-5p %m%n



log4j.appender.myFileAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.myFileAppender.DatePattern=${roll.pattern.hourly}
log4j.appender.myFileAppender.File=${log.dir}/MyAPP.log
log4j.appender.myFileAppender.layout=org.apache.log4j.PatternLayout 
log4j.appender.myFileAppender.layout.ConversionPattern=%d{${datestamp}} [%t] %-5p %m%n


log4j.logger.com.myapp=DEBUG, myConsoleAppender, myFileAppender

jsp 页面中,我执行以下操作:

<%@page import="org.apache.commons.logging.*"%>

<%

        Log log = LogFactory.getLog(getClass());

        log.debug("login page");

注意:日志记录在 java 类中运行良好。

请告知为什么它不起作用,谢谢。

4

5 回答 5

5

我刚刚在log4j.properties中添加了以下行,现在它工作正常:

log4j.logger.org.apache.jsp=DEBUG, myConsoleAppender, myFileAppender
于 2012-12-24T09:37:00.023 回答
1

要在 jsp 文件中使用 logger,请通过以下方式初始化 logger 对象:

<% Logger logger = LoggerFactory.getLogger(this.getClass()); %>
于 2013-08-08T07:18:45.557 回答
0

1- 在您的配置文件中:log4j.xml <logger name="processus.jsp"> <level value="info" /> <appender-ref ref="fileAppender" /> </logger>

2-在页面JSP中:`<%@ page import="org.apache.log4j.Logger"%>

<% Logger logger = Logger.getLogger("yourPage.jsp"); %>`

于 2013-07-05T13:02:44.430 回答
0

就像任何其他自定义标签库一样,您必须为您的 Web 应用程序正确配置它。这意味着将 log.tld 文件放入 WEB-INF 目录,并将 Log 标记 JAR 文件安装到 WEB-INF/lib 目录中。您还需要将适当的 taglib 元素添加到 Web 应用程序的部署描述符中,类似于添加 Struts 标记库的方式:

Web.xml

<taglib>
<taglib-uri>/WEB-INF/log.tld</taglib-uri>
 <taglib-location>/WEB-INF/log.tld</taglib-location>
</taglib>

在您的 JSP 中,

<%@ taglib uri="/WEB-INF/log.tld" prefix="logger" %>

<logger:debug message="This is a debug message from a jsp using the Log tag" />

<html> 
   <head> 
       <title>Using the Log Tag in a JSP page</title> 
   </head> 
   <body> 
       <logger:info message="This is another message using the log4j tag" />

         There should be two log messages in the log4j log file. 
   </body> 
</html>

这种方法对于更大、更复杂的 JSP 页面更加简洁

于 2012-12-24T09:34:11.853 回答
-1

最好在 java 中创建一个将初始化日志记录的记录器类。

请参阅此链接以获取 java 类。从 JSP 调用它的 logDebug() 方法来记录消息,例如LogClassName.logDebug("message here");

于 2012-12-24T09:15:42.210 回答