springboot 使用maven聚合项目,配置logback不成功

clipboard.png

application.properties

logging.config=classpath:logback-mybatis.xml

logback-root.xml

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

    <!-- 文件输出格式 -->
    <property name="PATTERN" value="%-12(%d{yyyy-MM-dd HH:mm:ss.SSS}) |-%-5level [%thread] %c [%L] -| %msg%n" />
    <!-- test文件路径 -->
    <property name="TEST_FILE_PATH" value="/Users/zhangwei/Logs" />

    <!-- 开发环境 -->
    <springProfile name="dev">
        <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <pattern>${PATTERN}</pattern>
            </encoder>
        </appender>

        <logger name="com.qtay.gls.dao" level="debug"/>

        <root level="info">
            <appender-ref ref="CONSOLE" />
        </root>
    </springProfile>
</configuration>

我是百度别人的文章 按照他们的方式配置了,但是就是不打印日志 ,请问我是哪里配置的不正确吗,能不能详细介绍下步骤,我是初学者!!!

阅读 5.6k
2 个回答

已经解决了,在项目resource文件夹下添加logback-spring.xml就可以了:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern> %d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{36} - %msg%n</pattern>
        </layout>
    </appender>

    <appender name="fileLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--滚动策略-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--输出路径-->
            <fileNamePattern>${user.dir}/logs/log/online-study.%d.log</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern> %d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <!--滚动策略-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--输出路径-->
            <fileNamePattern>${user.dir}/logs/error/online-study.%d.error</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern> %d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <!--
    logger
       属性:
          1)name:用来指定受此logger约束的某一个包或者具体的某一个类
          2)level:用来设置打印级别,大小写无关(最常用的几种):DEBUG, INFO, WARN, ERROR
    -->

    <!-- 用于打印 Spring 在启动的时候初始化各个 Bean 的信息 -->
    <logger name="org.springframework.web" level="DEBUG"/>

    <!-- mybatis 日志打印如果在 ssm 中,可能就需要下边的7行了。-->
    <logger name="com.ibatis" level="DEBUG" />
    <logger name="com.ibatis.common.jdbc.SimpleDataSource" level="DEBUG" />
    <logger name="com.ibatis.common.jdbc.ScriptRunner" level="DEBUG" />
    <logger name="com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate" level="DEBUG" />
    <logger name="java.sql.Connection" level="DEBUG" />
    <logger name="java.sql.Statement" level="DEBUG" />
    <logger name="java.sql.PreparedStatement" level="DEBUG" />

    <!-- 以下这一句至关重要如果没有,就无法输出 sql 语句 -->
    <!--注意:在 spring boot 中,想在控制台打印 mybatis 的 sql 语句,只需要配置下边这一句就好了。-->
    <!--如果想要记录更详细的 SQL 日志,只需要把下面的日志级别改成 TRACE 就可以了-->
    <!--即将 mapper 接口打入 logger 就行。-->
    <logger name="com.qtay.gls.dao" level="DEBUG"></logger>

    <root level="info">
        <appender-ref ref="consoleLog"/>
        <appender-ref ref="fileLog"/>
        <appender-ref ref="fileErrorLog"/>
    </root>

</configuration>

看你的日志文件名称为logback-mybatis.xml,你有在配置文件里面指明logging.config=classpath:logback-mybatis.xml吗?如果不想指明可以把名称改为logback-spring.xml,还有疑问可以参考这个问题的答案评论

你配置的logging.config=classpath:logback-mybatis.xml,文件名称就要和配置对应叫做logback-mybatis.xml

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题