1
回答
logback自定义输出
华为云实践训练营,热门技术免费实践!>>>   
我现在用logback现在只想输出logger.info("……") 这些消息 那些系统消息不想输出,请问怎么设置呢,在网上差了些资料但是都不行,请指教!
举报
luger
发帖于6年前 1回/4K+阅
共有1个答案 最后回答: 6年前

你的系统消息的级别是什么?debug?info?
logback除了按级别,还可以指定哪些类或包的出。
给你个logback.xml,这个是我一直用的。

<?xml version="1.0" encoding="UTF-8"?>

<!-- For assistance related to logback-translator or configuration  -->
<!-- files in general, please contact the logback user mailing list -->
<!-- at http://www.qos.ch/mailman/listinfo/logback-user             -->
<!--                                                                -->
<!-- For professional support please see                            -->
<!--    http://www.qos.ch/shop/products/professionalSupport         -->
<!--                                                                -->
<configuration scan="true" scanPeriod="120 seconds" debug="false">
  <appender name="FileApp" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <!--See also http://logback.qos.ch/manual/appenders.html#RollingFileAppender-->
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> 
      <level>WARN</level> 
    </filter>
    <File>log/app.log</File>
    <encoder>
      <pattern>%d [%t] %-5p %c - %m%n</pattern>
    </encoder>
    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
      <maxIndex>10</maxIndex>
      <FileNamePattern>log/app.log.%i</FileNamePattern>
    </rollingPolicy>
    <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
      <MaxFileSize>1024KB</MaxFileSize>
    </triggeringPolicy>
  </appender>
  <appender name="ConApp" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%d [%t] %-5p %c - %m%n</pattern>
    </encoder>
  </appender> 
  <root level="ERROR">
  	<appender-ref ref="ConApp"/>
    <appender-ref ref="FileApp"/>
  </root>
  <logger name="com.test.app" level="INFO"/>
</configuration>

只有warn级别以上的才会被记录到文件中,文件最多保留10个,每个1M,root level被定义成error,但是下面的logger指定了那个包下面的级别为info,当然,你也可以指定类。
系统的一般是debug的吧,设定root level为error,再特别指定某个包或类的为info,就好了。当然,如果你的info信息和系统信息是在指定类或者包下面,无解,因为你本身就是矛盾的。

顶部