关闭记录到catalina.out

时间:2015-02-19 16:30:30

标签: log4j tomcat7

我已经将log4j配置为记录到不同的文件,我希望tomcat完全停止记录到catalina.out。 这似乎不可能。

尝试

Not to log to catalina.out

https://serverfault.com/questions/476647/why-does-tomcat7-log-into-both-catalina-out-and-catalina-yyyy-mm-dd-log

他们没有工作

2 个答案:

答案 0 :(得分:0)

解决方案:配置为登录/ dev / null

答案 1 :(得分:0)

下面是使用log4j

的示例
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

解决方案: 您可以使用几行代码在应用程序中禁用log to catalina.out。

    ConsoleAppender console = new ConsoleAppender(); 
    String PATTERN = "%d{dd MMM yyyy HH:mm:ss} %5p %l %m%n";
    console.setLayout(new PatternLayout(PATTERN)); 
    console.setThreshold(Level.OFF);  // disable log to console (catalina.out)
    console.activateOptions();
    Logger.getRootLogger().addAppender(console);
    RollingFileAppender rfa = new RollingFileAppender(); // set log to another file
    rfa.setName(warName);
    rfa.setImmediateFlush(true);
    rfa.setFile(System.getProperty("catalina.home") + "/logs/"+warName+".log");
    rfa.setLayout(new PatternLayout("%d{dd MMM yyyy HH:mm:ss} %5p %l %m%n"));
    rfa.setThreshold(Level.DEBUG);
    rfa.setAppend(true);
    rfa.setMaxFileSize("10MB");
    rfa.setMaxBackupIndex(50);
    rfa.activateOptions();
    Logger.getRootLogger().addAppender(rfa);
    // at this point you can log with:
    Logger log = Logger.getRootLogger();
    log.debug("------------xxxxxxxxxxxxxxxx-------------");