logback日志

logback了解

logback是为了替代log4j出现的,
logback当前分成三个模块:logback-core,logback-classic和logback-access。
Maven依赖配置:
这里写图片描述

logback.xml文件详解

<?xml version="1.0" encoding="UTF-8"?>
<!--设置如果该日志文件修改了则刷新,指定检测该文件的时间间隔为60秒,打印logback.xml的内部日志信息-->
<configuration scan="true" scanPeriod="60 seconds" debug="true">

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

    <!-- 控制台输出 name是为了让其他标签使用的唯一标志 class用来指定日志输出的位置-->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <!--encoder:该标签中定义了日志的输出格式-->
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger{32} [%file:%line] - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- 按照每天生成日志文件 -->
    <appender name="FILE"
        class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--定义了日志文件的目录结构和文件名:磁盘根目录:/bonc_logs/mylog-logback.log
        <file>${LOG_HOME}/bonc-simkey.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--过期文件自动压缩 -->
            <FileNamePattern>${LOG_HOME}/bonc-simkey.log.%d{yyyy-MM-dd}.log.gz
            </FileNamePattern>
            <MaxHistory>30</MaxHistory>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符 -->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{50} [%file:%line] - %msg%n</pattern>
        </encoder>
    </appender>
    <appender name="webserviceLogger"
        class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>./log/simkey.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>./log/simkey.log.%d{yyyy-MM-dd}.log.gz
            </FileNamePattern>
            <!--日志文件保留天数-->
            <MaxHistory>30</MaxHistory>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}-%msg%n</pattern>
        </encoder>
    </appender>

    <!--将控制QueryICCIDImpl类的日志打印 -->
    <logger name="QueryICCIDImpl" level="info">
        <appender-ref ref="webserviceLogger" />
    </logger>

    <!--org log config -->
    <logger name="org.springframework" level="ERROR" />
    <logger name="org.apache.zookeeper" level="WARN" />
    <logger name="org.apache.hadoop" level="WARN" />
    <logger name="org.quartz" level="WARN" />

    <!--myibatis log configure -->
    <logger name="com.apache.ibatis" level="TRACE" />
    <logger name="java.sql.Connection" level="DEBUG" />
    <logger name="java.sql.Statement" level="DEBUG" />
    <logger name="java.sql.PreparedStatement" level="DEBUG" />

    <!-- 日志输出级别 -->
    <root level="ERROR">
        <appender-ref ref="STDOUT" />
        <appender-ref ref="FILE" />
    </root>
    <!-- 执行过程总结:
            当 执行QueryICCIDImpl类的方法时,会首先执行<logger name="QueryICCIDImpl" 本身如果引用了appender-ref标签,就按照ref="log_file" 设置的格式打印;
            当执行不在impl中的方法时,如<logger name="java.sql.Connection" level="DEBUG" />,会将级别为“DEBUG”及大于“DEBUG”的日志信息传递给root,root接到下级传递的信息,交给已经配置好的名为“STDOUT”和“log_file”的appender处理,“STDOUT”appender将信息打印到控制台,“log_file”appender将信息打印到日志文件;
    -->

</configuration>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值