浅谈日志处理logback

作者: 不孤独的字符串 | 来源:发表于2019-03-10 21:58 被阅读0次

    logback是由log4j创始人设计的另一款日志组件。比起log4j,logback表现出了更强的性能。logback的内核被重写了,因此初始化内存加载也更小,在关键执行链路上性能也有了很大的提升。功能上,除了日志信息记录外,可以给日志设置生命周期,实现自动去除旧的日志。

    logback的开发之处便保持了原有log4j的接口设计风格,因此对于原有日志组件的切换也很简单,只需要将jar包换成logback的,并不需要修改到原有的代码,只需修改配置文件即可。



    springboot默认使用的便是logback,因此对于springboot工程来说,并不需要引入额外的jar包,只需在application.properties同级下增加logback.xml配置文件。

    <configuration debug="false">
        <property name="LOG_PATH" value="/home"/>
        <!-- 控制台输出 -->
        <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
            <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
                <!--格式化输出:%d表示日期, %thread表示线程名, %-5level表示级别从左显示5个字符宽度, %msg表示日志消息, %n是换行-->
                <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
            </encoder>
        </appender>
        <!-- 每天生成日志文件 -->
        <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!--文件名和保留天数-->
                <FileNamePattern>${LOG_PATH}/%d{yyyy-MM-dd}.log</FileNamePattern>
                <MaxHistory>30</MaxHistory>
            </rollingPolicy>
            <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
                <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
            </encoder>
            <!--文件最大的大小-->
            <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
                <MaxFileSize>100MB</MaxFileSize>
            </triggeringPolicy>
        </appender>
        <!-- 日志输出级别 -->
        <root level="INFO">
            <appender-ref ref="CONSOLE"/>
            <appender-ref ref="FILE"/>
        </root>
        <!--日志异步到数据库 -->
        <appender name="DB" class="ch.qos.logback.classic.db.DBAppender">
            <connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">
                <dataSource class="com.mchange.v2.c3p0.ComboPooledDataSource">
                    <driverClass>com.mysql.jdbc.Driver</driverClass>
                    <url>jdbc:mysql://127.0.0.1:3306/dbName</url>
                    <user>root</user>
                    <password>123456</password>
                </dataSource>
            </connectionSource>
        </appender>
    </configuration>
    

    相关文章

      网友评论

        本文标题:浅谈日志处理logback

        本文链接:https://www.haomeiwen.com/subject/paoppqtx.html