首页 > 解决方案 > 从 War 创建登录 Tomcat

问题描述

我想为我的 tomcat 中的每场战争创建一个日志文件。在本地与 Windows 完美地工作,但在我的 tomcat 中,不创建文件,并且路径是正确的。

public static Logger logApp = Logger.getLogger(ENTORNO + LOW_BAR + "LOG");

private static void setLogger() {
    try {
        /// CONFIGURACIÓN DE LOG ///
        FileHandler fh = new FileHandler("///opt/tomcat/Firebase/" + ENTORNO + LOW_BAR + "LOG" + ".log");
        logApp.addHandler(fh);
        SimpleFormatter formatter = new SimpleFormatter();
        fh.setFormatter(formatter);
    } catch (SecurityException | IOException e) {
        EmailSenderService.sendMail("El seteo del log ha fallado: " + e.getMessage(), ERROR);
    }
}

不抛出任何异常,但不创建文件。我做错了什么?

谢谢你。

标签: javafiletomcatlogging

解决方案


您可以尝试 log4j[ 1 ] 类型的日志记录解决方案。在这种情况下,您不必实现任何东西。您可以将 log4j jar 导入 Web 应用程序,并为每个 Web 应用程序创建一个 log4j 配置以具有不同的日志文件。

示例 log4j 配置

log4j.rootLogger=DEBUG, Appender1,Appender2

log4j.appender.Appender1=org.apache.log4j.ConsoleAppender
log4j.appender.Appender1.layout=org.apache.log4j.PatternLayout
log4j.appender.Appender1.layout.ConversionPattern=%-7p %d [%t] %c %x - %m%n

log4j.appender.Appender2=org.apache.log4j.FileAppender
log4j.appender.Appender2.File=C:\\webapp1.log
log4j.appender.Appender2.layout=org.apache.log4j.PatternLayout
log4j.appender.Appender2.layout.ConversionPattern=%-7p %d [%t] %c %x - %m%n

推荐阅读