使用log4j写入日志文件

时间:2013-06-08 13:57:14

标签: java servlets log4j

我遇到了与使用Log4j有关的问题和不确定性。

  1. 我无法将日志写入文件。我只收到一条警告说:
  2. log4j:WARN No such property [file] in org.apache.log4j.ConsoleAppender.

    登录到控制台工作正常。

    1. 我想将日志文件存储在上下文根目录之外。在这种情况下,我会将绝对路径硬编码到属性文件中吗?对不起,如果这是一个愚蠢的问题。
    2. Log4j.properties

      # Root logger option
      log4j.rootCategory=INFO, file, stdout
      
      # Direct log messages to stdout
      log4j.appender.file=org.apache.log4j.FileAppender
      log4j.appender.file.File=/Users/me/Documents/apache-tomcat-7.0.34/wtpwebapps/my_app/log.txt
      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.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
      

      LogInit.java

      String root = Environment.getRootDirectory(getServletContext());
          String propertiesUri = root + propertiesUriParameter;
          File propertiesFile = new File(propertiesUri);
          if (!propertiesFile.exists())
          {
              System.out.println("Initializing log4j with: " + propertiesUri);
              PropertyConfigurator.configure(propertiesUri);
          }
      

1 个答案:

答案 0 :(得分:2)

从以下位置更改:

log4j.appender.file.File =用户/ ME /文档/ Apache的Tomcat的7.0.34 / wtpwebapps / my_app应用/ log.txt的

log4j.appender.file.File = /用户/ ME /文档/ Apache的Tomcat的7.0.34 / wtpwebapps / my_app应用/ log.txt的

确保以下路径存在

/Users/Me/Documents/apache-tomcat-7.0.34/wtpwebapps/my_app/l

此致

Shiva Kumar SS