Séb*_*mme 6 logging logback slf4j tomcat8
我尝试通过 slf4j/logback 管理 Tomcat 的内部日志(commons-daemon.log、localhost_access_log、localhost、catalina 等),主要是为了能够在其上设置滚动文件策略。
我将所需的 jars 放在 Tomcat lib 目录中(jul-to-slf4j-1.7.25.jar、logback-classic-1.2.2.jar、logback-core-1.2.2.jar 和 slf4j-api-1.7.25。罐)。
我也在 Tomcat lib 目录中放了一个非常简单的 logback.xml,只是为了测试:
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug = "true">
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>C:/temp/MyLog.log</file>
<encoder>
<Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="FILE" />
</root>
</configuration>
Run Code Online (Sandbox Code Playgroud)
在 logging.properties 中,我只放置了以下行:
handlers = org.slf4j.bridge.SLF4JBridgeHandler
Run Code Online (Sandbox Code Playgroud)
我的问题是创建了 MyLog.log 文件,但它似乎只包含通常记录在 localhost.log 文件中的内容。
commons-daemon.log 和 localhost_access_log 像以前一样留在基本的 Tomcat 日志目录中,而 catalina.log、manager.log 和 host-manager.log 根本不在那里。
为了完整起见,我将 Tomcat 作为服务运行,并且在服务的 Java 选项中,我有以下几行:
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=C:\Program Files\Apache Software Foundation\Tomcat 8.5.5\conf\logging.properties
Run Code Online (Sandbox Code Playgroud)
我期待所有日志内容都在我的 MyLog.log 文件中。
我想我错过了一些东西,但是什么?
谢谢,
塞伯