【问题标题】:Log4j printing to console every timeLog4j 每次打印到控制台
【发布时间】:2014-08-24 04:14:29
【问题描述】:

我已将以下 log4j.properties 文件放在我的 Eclipse 动态 Web 项目的 src 文件夹中。但是,尽管我正在编写代码以仅在文件中打印日志,但每次日志都会打印在控制台上。如果我正在删除 log4j.properties 文件,那么它也会打印在控制台上。不知道出了什么问题。

###############################################################################

log4j.rootLogger=INFO, file

###############################################################################

log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=D:/apache-tomcat-7.0.47/webapps/LogFile.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d %-5p %c - %m%n

###############################################################################

我正在使用以下代码来打印日志。

import org.apache.log4j.Logger;

Logger log = Logger.getLogger(Client.class.getName());
log.info("First log");

【问题讨论】:

  • 请张贴一些打印到控制台的行。
  • 这是在控制台上生成输出的方式。 [INFO][com.sun.security.ntlm.Client] - 第一个日志

标签: java eclipse logging log4j log4j2


【解决方案1】:

尝试像这样覆盖类中的 log4j 配置:

import org.apache.log4j.PropertyConfigurator;;

static{
     PropertyConfigurator.configure("src/main/resources/log4j.properties");
}

这假设您在src/main/resources 下有一个名为log4j.properties 的文件

【讨论】:

    【解决方案2】:

    感谢尼基尔

    我通过查看您的代码使用了以下代码,它运行良好。

    import org.apache.log4j.PropertyConfigurator;
    
    PropertyConfigurator.configure(getClass().getClassLoader().getResourceAsStream("log4j.properties"));
    

    【讨论】:

      猜你喜欢
      • 2018-07-14
      • 2011-08-21
      • 2012-03-09
      • 1970-01-01
      • 2012-08-17
      • 2016-09-21
      • 1970-01-01
      • 1970-01-01
      • 2015-01-05
      相关资源
      最近更新 更多