通过 slf4j/logback 记录 Tomcat 8 自己的日志

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 文件中。
我想我错过了一些东西,但是什么?

谢谢,

塞伯