关于logback如何按等级输出到控制台和保存到日志文件

crcgio 2015-04-14 01:09:33
我现在这个项目要把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>
...全文
11126 4 打赏 收藏 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_30587531 2016-05-20
  • 打赏
  • 举报
回复
楼上说的对,
Maxianbin. 2015-05-21
  • 打赏
  • 举报
回复
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n </pattern> </encoder> </appender> <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${USER_HOME}/${FILE_NAME}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <fileNamePattern>${USER_HOME}/${byDay}/${FILE_NAME}-${byDay}-%i.log.zip </fileNamePattern> <minIndex>1</minIndex> <maxIndex>10</maxIndex> </rollingPolicy> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize> </triggeringPolicy> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg%n </pattern> </encoder> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>WARN</level> </filter> <!-- <filter class="ch.qos.logback.classic.filter.LevelFilter">只允许打印错误日志到文件 <level>WARN,ERRO</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> --> </appender> <!-- additivity true 信息向上级传递,logger本身打印一次 --> <logger name="com.big.daynew.application" level="INFO" additivity="true"> <appender-ref ref="file" /> </logger> <root level="debug"> <appender-ref ref="STDOUT" /> </root> infor以上级别输出到控制台,warn以上级别输出到文件
crcgio 2015-04-14
  • 打赏
  • 举报
回复
没人帮忙么?
crcgio 2015-04-14
  • 打赏
  • 举报
回复
就是控制日志输出方式,info以上的打印到控制台,warn以上的既打印到控制台,又声称日志文件,现在的输出结果是控制台只显示warn和error的结果,日志打印结果也是

51,407

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧