我已经将log4j配置为记录到不同的文件,我希望tomcat完全停止记录到catalina.out。 这似乎不可能。
尝试
和
他们没有工作
答案 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-------------");