Java Can';不要在jsp页面中使用日志记录

Java Can';不要在jsp页面中使用日志记录,java,jsp,logging,log4j,Java,Jsp,Logging,Log4j,我正在使用以下库进行日志记录: 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 l

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

  • 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创建一个logger类来初始化日志记录


有关java类,请参见。从JSP调用其logDebug()方法来记录消息,如
LogClassName.logDebug(“此处的消息”)

与任何其他自定义标记库一样,您必须为web应用程序正确配置它。这意味着将log.tld文件放入WEB-INF目录,并将日志标记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>

/WEB-INF/log.tld
/WEB-INF/log.tld
在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页面中使用日志标记
log4j日志文件中应该有两条日志消息。

这种方法更简洁,JSP页面更大、更复杂,我刚刚在log4j.properties中添加了以下行,现在可以正常工作了:

log4j.logger.org.apache.jsp=DEBUG, myConsoleAppender, myFileAppender

1-在配置文件中:log4j.xml

2-在JSP页面中: `


`

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

<% Logger logger = LoggerFactory.getLogger(this.getClass()); %>


您是否遇到任何异常情况。日志记录在servlet或JSP支持的任何其他类中工作。@Rais Alam,我没有收到任何异常,并且日志记录在java类中工作正常。您是否在任何类中使用过滤器?如果是,我能看看吗?@harish.raj,我不明白?这就是我的意思。不要介意。我明白你不是在问问题的时候用它的。为我工作。谢谢Shashi,你在鼓吹冗长的滥杀。为什么创建调用日志对象的方法比根据需要直接调用logger对象方法更好?