我仍然面临着使用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 &quot;%r&quot; %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