我仍然面临着使用tomcat8配置Logback的问题 . 我想我错过了一点 .
在我的pom.xml中:
<!-- Logging --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.2</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>1.7.2</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.1.7</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.1.7</version> </dependency>
我在server.xml文件中添加了valve:
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="localhost_access_log"
suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
在logback.xml中<?xml version =“1.0”encoding =“UTF-8”?>
<configuration scan =“true”>
<property name =“max.retention.days”value =“60”/>
<appender name =“GLOBAL_OUTPUT”class =“org.apache.juli.logging.ch.qos.logback.core.rolling.RollingFileAppender”>
<文件> global.log </文件>
<追加>真</追加>
<编码器>
<字符集> UTF-8 </字符集>
<pattern>%d {HH:mm:ss.SSS}%-5level {%thread} [%logger {40}]:%msg%n </ pattern>
</编码器>
<rollingPolicy class =“org.apache.juli.logging.ch.qos.logback.core.rolling.TimeBasedRollingPolicy”>
<fileNamePattern> $ /logs/archive/global.log-%d - %i.log.zip </ fileNamePattern>
<maxHistory> $ </ maxHistory>
<cleanHistoryOnStart>真</ cleanHistoryOnStart>
</ rollingPolicy>
</附加器>
<logger name =“org.apache.catalina”level =“INFO”>
<appender-ref ref =“GLOBAL_OUTPUT”/>
</ Logger >
</配置>
然后在我的logback-access.xml中:<property name =“max.retention.days”value =“60”/>
<appender name =“ACCESS-LOG”class =“ch.qos.logback.core.rolling.RollingFileAppender”>
<文件> $ /logs/localhost-access.log </ FILE>
<追加>真</追加>
<encoder class =“ch.qos.logback.access.PatternLayoutEncoder”>
<字符集> UTF-8 </字符集>
<图案>共同</图案>
</编码器>
<rollingPolicy class =“ch.qos.logback.core.rolling.TimeBasedRollingPolicy”>
<fileNamePattern> $ /日志/存档/本地主机 - 访问 - %d - %i.log.zip </ fileNamePattern>
<maxHistory> $ </ maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class =“ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP”>
<maxFileSize为> 20MB </ maxFileSize为>
</ timeBasedFileNamingAndTriggeringPolicy>
</ rollingPolicy>
</附加器>
<appender-ref ref =“ACCESS-LOG”/> 这是错误:org.apache.jasper.servlet.TldScanner.scanJars至少有一个JAR被扫描用于尚未包含TLD的TLD . 为此 Logger 启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表 . 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间 .
谢谢你的帮助,Swaye