我正在尝试使用sl4j和logback设置项目。
我有一些问题:
这是我目前的配置:
的pom.xml
<org.slf4j.version>1.7.21</org.slf4j.version>
<ch.qos.logback.version>1.1.7</ch.qos.logback.version>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${org.slf4j.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${ch.qos.logback.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>${ch.qos.logback.version}</version>
</dependency>
的web.xml
<context-param>
<param-name>logbackConfigLocation</param-name>
<param-value>/WEB-INF/logback.xml</param-value>
</context-param>
logback.xml(在src / main / WEB-INF文件夹中)
<?xml version="1.0" encoding="UTF-8"?>
<property name="logdir" value="c:" />
<appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">
<encoder>
<pattern>%d{HH:mm:ss.SSS} %-5level %logger{0} - %msg%n</pattern>
</encoder>
</appender>
<appender class="ch.qos.logback.core.rolling.RollingFileAppender"
name="FILE-TEST">
<file>${logdir}/test.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- rollover daily -->
<fileNamePattern>${test}-%d{yyyy-MM-dd}.%i.log
</fileNamePattern>
<!-- Keep logs for 15 days -->
<maxHistory>15</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{HH:mm:ss.SSS} %-5level %logger{0} - %msg%n</pattern>
</encoder>
</appender>
<logger name="com.perso.project" level="TRACE" additivity="false"/>
<!-- External libs -->
<logger name="ch.qos.logback" level="WARN"/>
<logger name="org.springframework" level="WARN"/>
<logger name="org.apache.commons" level="WARN"/>
<logger name="org.hibernate" level="ERROR"/>
<logger name="org.hibernate.SQL" level="ERROR"/>
<!-- Default og level -->
<root level="DEBUG">
<appender-ref ref="FILE-TEST" />
<appender-ref ref="STDOUT" />
</root>
就像我说的那样,我只登录我的tomcat控制台(在eclipse中)并且没有创建test.log文件。
这就是我在控制台上的内容。我在想我的记录器配置应该避免这种情况:
[...] 11:43:16.982 [localhost-startStop-1] DEBUG org.springframework.orm.jpa.EntityManagerFactoryUtils - 关闭JPA EntityManager 11:43:16.983 [localhost-startStop-1] DEBUG org.springframework.data.jpa.repository.query.JpaQueryFactory - 查找方法findParametreByType的查询 11:43:16.985 [localhost-startStop-1] DEBUG org.hibernate.hql.internal.ast.QueryTranslatorImpl - --- HQL AST --- [...]
提前致谢
对于附加信息,所有hibernate和spring都包含在我的com.perso.project依赖项中,该依赖项包含日志但没有logback.xml文件
答案 0 :(得分:0)
问题是因为$ {test} var不再存在。 我还将我的logback从WEB-INF目录移动到资源目录,它修复了记录外部lib的问题。