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 = LoggerFactory.getLogger(this.getClass()); %>
于 2013-08-08T07:18:45.557 に答える
0

他のカスタムタグライブラリと同様に、Webアプリケーション用に適切に構成する必要があります。これは、log.tldファイルをWEB-INFディレクトリに配置し、LogタグJARファイルをWEB-INF/libディレクトリにインストールすることを意味します。また、Strutsタグライブラリを追加したのと同様に、適切なtaglib要素をWebアプリケーションのデプロイメント記述子に追加する必要があります。

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 に答える
0

1- configurationFile:log4j.xml内 <logger name="processus.jsp"> <level value="info" /> <appender-ref ref="fileAppender" /> </logger>

2-ページJSP: `<%@ page import =" org.apache.log4j.Logger "%>

<%ロガーロガー= Logger.getLogger( "yourPage.jsp"); %> `

于 2013-07-05T13:02:44.430 に答える
-1

ロギングを初期化するロガークラスをJavaで作成するのが最善です。

Javaクラスについては、このリンクを参照してください。JSPからlogDebug()メソッドを呼び出して、次のようなメッセージをログに記録します。LogClassName.logDebug("message here");

于 2012-12-24T09:15:42.210 に答える