'WEB-INF/classes/logging.properties'中指定的文件处理程序被额外的记录污染



根据Tomcat参考,我决定为每个应用程序设置日志记录。我在应用程序目录的文件"WEB-INF/classes/logging.properties"中指定了以下处理程序:

handlers = 5orderbook.org.apache.juli.FileHandler
5orderbook.org.apache.juli.FileHandler.level = FINE
5orderbook.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
5orderbook.org.apache.juli.FileHandler.prefix = orderbook.

日志记录文件已创建。但我什至没有设置任何特定的记录器(或根据参考的"设施"),同时获得以下额外记录:

янв 29, 2016 9:18:34 AM org.apache.catalina.core.ApplicationContext log
INFO: Spring WebApplicationInitializers detected on classpath: [my.app.config.SecurityInitializer@34dff4af]
янв 29, 2016 9:18:35 AM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
янв 29, 2016 9:18:35 AM org.springframework.web.context.ContextLoader initWebApplicationContext
INFO: Root WebApplicationContext: initialization started
<...>

当我将处理程序分配给特定包时,没有任何变化:

my.level = FINE
my.handlers = 5orderbook.org.apache.juli.FileHandler

我做错了什么?如何防止不相关的记录污染日志文件?

嗯,它似乎是内置 Spring 依赖项的"功能",称为 Jakarta Commons Logging。在排除了公共日志依赖项并将其替换为jcl-over-slf4f之后,Spring 的记录已从应用程序的日志文件中消失。这是我的pom.xml元素:

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${spring.version}</version>
        <exclusions>
            <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>1.7.14</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>1.7.14</version>
    </dependency>

最新更新