log4j не создает файлы журнала - PullRequest
0 голосов
/ 25 мая 2018

Ниже приведен файл log4j.properties, который я использовал в проекте для создания журналов.Но журналы не генерируются в указанном месте.

log4j.rootLogger=DEBUG,file
#log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.org.apache.ibatis.MaxFileSize=15MB 
log4j.appender.org.apache.ibatis.MaxBackupIndex=10
log4j.appender.file.File=E:\logs\file.log
log4j.appender.file.DatePattern='.'yyyy-MM-dd
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%p] %d %c %M - %m%n

Итак, я написал пример jsp, как показано ниже, и обнаружил, что out.println(app.getClass()); возвращает только класс ConsoleAppender, и это происходит, когда я развертываю код в TOMCAT на windows server 2012.Если тот же код развернут на Windows Server 2008 на TOMCAT, журналы генерируются правильно, а также возвращается соответствующий appender, упомянутый в файле свойств.Я попытался разместить местоположение журнала внутри и снаружи папки Tomcat, но все равно не повезло.версия log4j, которую мы используем - 1.2.17.

<%@page import="org.apache.log4j.*"%>
<%@page import="java.io.*"%>
<%@page import="java.lang.*"%>
<%@page import="java.util.*"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <%! static Logger logger = Logger.getLogger("sample_jsp");
 %>
        <%
          Enumeration e = Logger.getRootLogger().getAllAppenders();
    while ( e.hasMoreElements() ){
      Appender app = (Appender)e.nextElement();
      out.println(app.getClass());
     if ( app instanceof ConsoleAppender ){
    //out.println("File: " + ((ConsoleAppender)app).getFile());
  }
  }
        %>
    </body>
</html>

В чем может быть причина ненормального поведения?Пожалуйста, помогите

1 Ответ

0 голосов
/ 25 мая 2018

log4j.properties

# Root logger option
log4j.rootLogger=INFO,FILE,stdout
# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=automatio.out
log4j.appender.FILE.Append=true
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p 
%c{1}:%L - %m%n
log4j.appender.file.MaxFileSize=48
log4j.appender.file.MaxBackupIndex=9

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p 
%c{1}:%L - %m%n

В Baseclass.java

    public void init() throws IOException 
    {
      String log4jConfPath="log4j.properties";
      PropertyConfigurator.configure(log4jConfPath);
    }

   public void log(String data) 
   {
      log.info(data);
      Reporter.log(data);   
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...