根据Tomcat reference我决定按应用程序设置日志记录。我在应用程序目录的文件'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
我做错了什么?如何防止非相关记录污染日志文件?
答案 0 :(得分:0)
好吧,好像&#39;功能&#39;内置Spring依赖项称为Jakarta Commons Logging。在排除了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>