logback的配置文件

logback的配置文件实例,记录下来防止健忘

另中文网站也记录下地址:http://www.logback.cn

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

<!--根节点<configuration>
scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。
scanPeriod: 设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。
debug: 当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。-->
<configuration scan="true" scanPeriod="60 seconds" debug="false">

    <!--用来设置上下文名称,每个logger都关联到logger上下文,默认上下文名称为default。但可以使用<contextName>设置成其他名字,用于区分不同应用程序的记录-->
    <contextName>myAppName</contextName>

    <!--可以用来定义若干个变量值,它有两个属性name和value,在logger上下文中,可以使“${}”来使用变量。-->
    <property name="变量的名称" value="变量定义的值"/>
    <property name="变量的名称" value="变量定义的值"/>

    <!--获取时间戳字符串 datePattern设置将当前时间(解析配置文件的时间)转换为字符串的模式,遵循java.txt.SimpleDateFormat的格式-->
    <timestamp key="bySecond" datePattern="yyyyMMdd'T'HHmmss"/>


    <!--责写日志的组件,它有两个必要属性name和class。name指定appender名称,class指定appender的全限定名-->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">

        <!--写入的文件名,可以是相对目录,也可以是绝对目录,如果上级目录不存在会自动创建,没有默认值。-->
        <file>${LOG_HOME}/${LOG_APP}/error.log</file>
        <!--如果是 true,日志被追加到文件结尾,如果是 false,清空现存文件,默认是true-->
        <append>true</append>
        <!--对日志进行格式化-->
        <encoder>
            <pattern>%d{YYYY-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - [%file:%line] - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>

        <!--滚动记录文件配置,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件-->
        <rollingPolicy
                class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--TimeBasedRollingPolicy它根据时间来制定滚动策略,既负责滚动也负责出发滚动-->
            <fileNamePattern>${LOG_HOME}/${LOG_APP}/error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <!--归档文件的最大数量,超出数量就删除旧文件-->
            <maxHistory>30</maxHistory>
            <!--文件的大小,默认值是10MB-->
            <maxFileSize>10MB</maxFileSize>
            <!--文件总大小不能超过10G-->
            <totalSizeCap>10GB</totalSizeCap>
        </rollingPolicy>

        <!--告知 RollingFileAppender 合适激活滚动-->
        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <!--文件达到 最大52MB时会被压缩和切割 -->
            <maxFileSize>52MB</maxFileSize>
        </triggeringPolicy>

        <!--日志会被安全的写入文件,即使其他的FileAppender也在向此文件做写入操作,效率低,默认是 false-->
        <prudent>false</prudent>
    </appender>


    <!--
    用来设置某一个包或具体的某一个类的日志打印级别、以及指定<appender>。<loger>仅有一个name属性,一个可选的level和一个可选的addtivity属性。
    可以包含零个或多个<appender-ref>元素,标识这个appender将会添加到这个loger
    level:打印级别(大小写无关):TRACE, DEBUG, INFO, WARN, ERROR, ALL和OFF,还有一个特俗值INHERITED或者同义词NULL,代表强制执行上级的级别。
    如果未设置此属性,那么当前loger将会继承上级的级别。-->
    <logger name="指定受此loger约束的某一个包或者具体的某一个类,如java.sql.Connection" level="INFO">
        <appender-ref ref="STDOUT"/>
    </logger>

    <root level="DEBUG">
        <appender-ref ref="STDOUT"/>
    </root>

</configuration>

 

上一篇:【快进来】shell中的break和continue


下一篇:[Java03]流程操作 2021.11.08