记录一次生产环境不打印sql日志的解决办法

现象

springboot+logback本地调试有sql日志,但是生产环境日志文件中没有sql日志

解决

①注释掉#mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

注释掉就可以在生产打印sql日志,如果不注释,只能在控制台打印sql

②主要是logback配置文件中

<logger name="com.keji.xiangmu" level="DEBUG"/> 

name原来是带*号的,但是发现识别不了,打印不了日志,所以就具体到每一个dao的路径,或者写一个总路径,

完整的logback-spring.xml日志文件如下:

```

<configuration>

<property name="LOG_HOME" value="logs" />

<appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">

<layout class="ch.qos.logback.classic.PatternLayout">

<pattern>

%d - %msg%n

</pattern>

</layout>

</appender>

<appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">

<filter class="ch.qos.logback.classic.filter.LevelFilter">

<level>ERROR</level>

<onMatch>DENY</onMatch>

<onMismatch>ACCEPT</onMismatch>

</filter>

<encoder>

<pattern>

%d - %msg%n

</pattern>

</encoder>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

            <fileNamePattern>${LOG_HOME}/info.%d{yyyy-MM-dd}.log</fileNamePattern>

<maxHistory>30</maxHistory>

<totalSizeCap>1GB</totalSizeCap>

</rollingPolicy>

</appender>

<appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">

<filter class="ch.qos.logback.classic.filter.ThresholdFilter">

<level>ERROR</level>

</filter>

<encoder>

<pattern>

%d - %msg%n

</pattern>

</encoder>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

            <fileNamePattern>${LOG_HOME}/error.%d{yyyy-MM-dd}.log</fileNamePattern>

<maxHistory>30</maxHistory>

<totalSizeCap>1GB</totalSizeCap>

</rollingPolicy>

</appender>

<logger name="com.keji.xiangmu" level="DEBUG"/>

<root level="info">

<appender-ref ref="consoleLog"/>

<appender-ref ref="fileInfoLog"/>

<appender-ref ref="fileErrorLog"/>

</root>

</configuration>

```

完成以上两点,部署生效,解决问题。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容