请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

logback错误日志为什么写不进去

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <!--<encoding>UTF-8</encoding>-->
        <encoder>
            <pattern>[%d{HH:mm:ss.SSS}][%p][%c{40}][%t] %m%n</pattern>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>DEBUG</level>
        </filter>
    </appender>

    <appender name="mmall" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--<File>d:/mmalllog/mmall.log</File>-->
        <File>./logs/mmall.log</File>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>./logs/mmall.log.%d{yyyy-MM-dd}.gz</fileNamePattern>
            <!--<append>true</append>-->
            <maxHistory>10</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>[%d{HH:mm:ss.SSS}][%p][%c{40}][%t] %m%n</pattern>
        </encoder>
    </appender>


    <appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--<File>d:/mmalllog/error.log</File>-->
        <File>./logs/error.log</File>
        <!--<File>/Users/zwl/Documents/apache-tomcat-7.0.55(IDEA)/logs/error.log</File>-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>./logs/error.log.%d{yyyy-MM-dd}.gz</fileNamePattern>
            <!--<fileNamePattern>d:/mmalllog/error.log.%d{yyyy-MM-dd}.gz</fileNamePattern>-->
            <!--<append>true</append>-->
            <maxHistory>10</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>[%d{HH:mm:ss.SSS}][%p][%c{40}][%t] %m%n</pattern>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>

    <logger name="com.mmall" additivity="false" level="INFO" >
        <appender-ref ref="mmall" />
        <appender-ref ref="console"/>
    </logger>



    <!-- geelynote mybatis log 日志 -->

    <logger name="com.mmall.dao" level="DEBUG"/>

    <!--<logger name="com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate" level="DEBUG" >-->
        <!--<appender-ref ref="console"/>-->
    <!--</logger>-->

    <!--<logger name="java.sql.Connection" level="DEBUG">-->
        <!--<appender-ref ref="console"/>-->
    <!--</logger>-->
    <!--<logger name="java.sql.Statement" level="DEBUG">-->
        <!--<appender-ref ref="console"/>-->
    <!--</logger>-->

    <!--<logger name="java.sql.PreparedStatement" level="DEBUG">-->
        <!--<appender-ref ref="console"/>-->
    <!--</logger>-->


    <root level="DEBUG">
        <appender-ref ref="console"/>
        <appender-ref ref="error"/>
    </root>


</configuration>

https://img1.sycdn.imooc.com//szimg/5a2761c90001ce9705960462.jpg

正在回答

2回答

<logger name="com.mmall" additivity="false" level="INFO" >
        <appender-ref ref="mmall" />
        <appender-ref ref="console"/>
 </logger>

其中additivity="false",导致此logger的打印信息不向上级传递,即root--根logger未接收到任何日志信息。此处要设置默认值true。最后,要将root节点中<appender-ref ref="console"/>设置给注释,否则控制台会打印两次日志信息。

另一种方案:直接在此logger中指定一个新的名字为error的appender。

如果描述不清楚的,可以看一下http://aub.iteye.com/blog/1101260

另:geely老师,您一期给的源码中logback配置就和无敌威威贴图中一样的,我说咋调试好久都没看到error日志。不过今天总算解决了,开行ing ^_^

3 回复 有任何疑惑可以回复我~
  • 提问者 无敌威威 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2017-12-12 00:51:30
  • Geely #2
    赞赞赞,一期讲的时候没注意这个细节,非常感谢你们的提醒,这块咱们在二期是必须修正一下滴~~到时候我补一下
    感谢两位同学
    回复 有任何疑惑可以回复我~ 2017-12-12 23:54:14
  • pain7 #3
    我发现一个问题,如果没有 logger 的话,打印是会进入 root 下的 appender 的,但是若果添加了 logger,root 的打印就根据 logger 来了,如果 logger 不传递,那 root 也没有打印了
    回复 有任何疑惑可以回复我~ 2018-02-14 21:01:02
Geely 2017-12-07 12:17:56

你好,同学,这块我回去好好看一下,问题出在哪里,到时候把解决方案再发到这里来。如果是问题,到时候我补一段视频再。谢谢同学,现在在外边吃饭,手机回复的。



0 回复 有任何疑惑可以回复我~
  • 提问者 无敌威威 #1
    辛苦老师啦
    回复 有任何疑惑可以回复我~ 2017-12-07 12:53:46
  • Geely 回复 提问者 无敌威威 #2
    没事滴~~二期还有一些尽快和慕课网老师发上去,然后我找找问题,到时候再补一下~~
    回复 有任何疑惑可以回复我~ 2017-12-08 14:29:23
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信