我现在这个项目要把log4j转成用logback,之前在log4j中的分级方法是好用的,结果在写logback的demo测试中不好用了,望大神给看看,下面是配置文件的源码
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="D" class="ch.qos.logback.core.ConsoleAppender">
<!-- <filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>-->
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="D"/>
</root> <!-- 这个地方的级别为什么控制步了,控制台的打印结果显示的是下面warn级别 以上的了-->
<appender name="E" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>f://logFile.%d{yyyy-MM-dd}.log</fileNamePattern> <maxHistory>1</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<root level="WARN">
<appender-ref ref="E" />
</root> </configuration>
就是控制日志输出方式,info以上的打印到控制台,warn以上的既打印到控制台,又声称日志文件,现在的输出结果是控制台只显示warn和error的结果,日志打印结果也是
我只配一个root
<root level="info">
<appender-ref ref="stdout" />
<appender-ref ref="file-all" />
<appender-ref ref="file—debug" />
<appender-ref ref="file—error" />
</root>
stdout是控制台
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
<encoder charset="UTF-8" class="com.yunda.dp.dpsoa.log.LogBackExEncoder">
<pattern>[DPSOA] %date [%T] %-5level (%logger{80}.%method:%line - %msg%n</pattern>
</encoder>
</appender>
<!-- 时间滚动输出 level不为 DEBUG 日志 -->
<appender name="file-all" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>dpsoa.log</file>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>DEBUG</level>
<onMatch>DENY</onMatch>
<onMismatch>ACCEPT</onMismatch>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${webApp.root}/logs/dpsoa.%d{yyyy-MM-dd}.log</FileNamePattern>
<MaxHistory>30</MaxHistory>
</rollingPolicy>
<encoder class="com.yunda.dp.dpsoa.log.LogBackExEncoder">
<pattern>[DPSOA] %date [%T] %-5level (%logger{80}.%method:%line - %msg%n</pattern>
</encoder>
</appender>