mybatis整合logback,怎么实现不同的类输出日志在不同的文件里面

Jessica丶 发布于 04/23 13:39
阅读 297
收藏 0

Linux基金会免费官方培训及考试申请即将截止,戳这里申请!>>>

项目使用logback进行日志管理,日志输出文件为A文件,我想把一个类里面的日志全部输出在B文件里面,通过logback日志配置可以实现日志输出在B文件里面,但是只有log.info()这类logger的日志输出在B文件里面,mybatis数据库操作的日志还是在A文件里面,B文件里面并没有输出

该怎么配置才能使logger的日志和mybatis的日志全部输出在B文件里面

加载中
0
kse-music
kse-music
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="false">

    <property name="pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level ${PID:- } --- [%15thread] %-40logger{39} %-5L : %msg%n" />
    <property name="console_pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %green(%-5level) %magenta(${PID:- }) --- [%5t] %cyan(%-40logger{39}) %L : %msg%n" />
    <property name="console_pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %green(%-5level) %magenta(${PID:- }) --- [%5t] %replace(%caller{1}){'\t|Caller.{1}0|\r\n', ''} : %msg%n" />

    <property name="fileFilter" value="info"/>
    <property name="filePath" value="/work/logs/frame-demo/error.log"/>

    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${console_pattern}</pattern>
        </encoder>
    </appender>

    <appender name="FILE_INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>${fileFilter}</level>
        </filter>
        <!--<filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>info</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>-->
        <!--当天生成的日志文件名称-->
        <file>${filePath}</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <FileNamePattern>${filePath}-%d{yyyy-MM-dd}.gz</FileNamePattern>
            <!--归档日志文件保留天数-->
            <MaxHistory>30</MaxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>${pattern}</pattern>
        </encoder>
    </appender>

    <root><!-- 也是logger,默认是DEBUG -->
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE_INFO" />
    </root>

    <!--logger中的additivity设置为false是代表该logger日志打印不向上传递,默认为true-->
    <!--不指定级别则继承root的级别-->
    <logger name="org" level="WARN"/>
    <logger name="io" level="WARN" />

</configuration>
kse-music
kse-music
回复 @Jessica丶 : <!-- 你的mapper的包名或则直接指定具体类 --> <logger name="cn.hiboot.frame.mybatis.NewsMapper" additivity="false"> <appender-ref ref="CONSOLE" /> <appender-ref ref="FILE_INFO2"
Jessica丶
Jessica丶
回复 @kse-music : logger name配置mapper路径吗
kse-music
kse-music
回复 @Jessica丶 : 根据mapper文件指定就行了
Jessica丶
Jessica丶
回复 @kse-music : 怎么配置不同的类的mybatis日志输出在不同的文件里面
kse-music
kse-music
回复 @Jessica丶 : 不是
下一页
0
kse-music
kse-music
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="false">

    <property name="pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level ${PID:- } --- [%15thread] %-40logger{39} %-5L : %msg%n" />
   
    <property name="console_pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %green(%-5level) %magenta(${PID:- }) --- [%5t] %replace(%caller{1}){'\t|Caller.{1}0|\r\n', ''} : %msg%n" />

    <property name="filePath" value="/work/logs/frame-demo/a.log"/>
    <property name="filePath2" value="/work/logs/frame-demo/b.log"/>

    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${console_pattern}</pattern>
        </encoder>
    </appender>

    <appender name="FILE_INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${filePath}</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${filePath}-%d{yyyy-MM-dd}.gz</FileNamePattern>
            <MaxHistory>30</MaxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>${pattern}</pattern>
        </encoder>
    </appender>
    <appender name="FILE_INFO2" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${filePath2}</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${filePath2}-%d{yyyy-MM-dd}.gz</FileNamePattern>
            <MaxHistory>30</MaxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>${pattern}</pattern>
        </encoder>
    </appender>

    <root>
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE_INFO" />
    </root>

    <logger name="org" level="WARN"/>
    <logger name="io" level="WARN" />
    <!-- 你的mapper的包名或则直接指定具体类  -->
    <logger name="cn.hiboot.frame.mybatis.NewsMapper" additivity="false">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE_INFO2" />
    </logger>

</configuration>
返回顶部
顶部