0
jspとサーブレットでlog4jを使用します。私はApacheのドキュメントとthis blogを読んだ。私はそのブログの第2の方法として試みた。ここLog4jログファイルが見つかりません
log4j.logger.myapplogger=DEBUG, C, fileappender
log4j.additivity.myapplogger=true
log4j.appender.C=org.apache.log4j.ConsoleAppender
log4j.appender.C.layout=org.apache.log4j.PatternLayout
#basic pattern
log4j.appender.C.layout.ConversionPattern=[%c] [%d{dd MMM yyyy - hh:mm:ss}] %5p - %m %n
#advanced pattern (slow)
#log4j.appender.C.layout.ConversionPattern=[%c] [%d{dd MMM yyyy - hh:mm:ss}] %5p - %m - in %M() at line %L of class %C %n
log4j.appender.fileappender=org.apache.log4j.RollingFileAppender
log4j.appender.fileappender.File=${appRootPath}WEB-INF/logs/app_log.log
log4j.appender.fileappender.MaxFileSize=500KB
## Keep one backup file
log4j.appender.fileappender.MaxBackupIndex=3
log4j.appender.fileappender.layout=org.apache.log4j.PatternLayout
log4j.appender.fileappender.layout.ConversionPattern=%p %t %c - %m%n
#log4j.appender.C.layout.ConversionPattern=[%c] [%d{dd MMM yyyy - hh:mm:ss}] %5p - %m %n
はここに私のサーブレットリスナー
public class ApplicationServletContextListener implements ServletContextListener{
public void contextInitialized(ServletContextEvent e) {
ServletContext ctx=e.getServletContext();
String prefix=ctx.getRealPath("/");
String file="WEB-INF"+System.getProperty("file.separator")+"classes"+System.getProperty("file.separator")+"log4j.properties";
if(file !=null){
PropertyConfigurator.configure(prefix+file);
System.out.println("Log4J Logging started for application: " + prefix+file);
}else{
System.out.println("Log4J Is not configured for application Application: " + prefix+file);
}
とコンソールが表示され、私のプロパティファイルである「log4jロギングは、アプリケーションのために始めました...」。
ここで私がテストしようとしているサーブレットです。
private Logger log = Logger.getLogger("myapplogger");
log.error("this is a testign error");
コンソールはlog.Butはまだ私がチェックする必要があり、どのようにこの問題を修正するにはどこに私が知っているしなさい/ WEB-INF/logsに作成された何のいずれかのログファイルが存在しない示しています。あなたはappend.Itのファイルプロパティに変数${appRootPath}
を持って
ありがとうHardik.It働いた。 –
あなたはウェルカムです。 –