logback-spring自定义日志配置

配置文件命名为logback-spring.xml。

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

    <!--用springProperty来配置的话,可以直接读取properties文件-->
    <!--    <springProperty scope="context" name="LOG-DIR" source="${log.dir}"/>-->
    <springProperty name="LOG-DIR" source="log.path"/>
    <springProperty name="APP-NAME" source="log.name"/>
    <property name="LOG-PATTERN" value="%d{yyyy-MM-dd HH:mm:ss} [%thread] [%-5level] [%class:%line] - %m%n"/>

    <!--控制台-->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <!--<charset>UTF-8</charset>-->
            <pattern>${LOG-PATTERN}</pattern>
        </encoder>
    </appender>

    <!--日志文件-->
    <appender name="FILE-ALL" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--滚动策略,按照时间滚动 TimeBasedRollingPolicy-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--文件路径,定义了日志的切分方式,把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间-->
            <FileNamePattern>${LOG-DIR}/${APP-NAME}/${APP-NAME}-%d{yyyyMMdd}.log</FileNamePattern>
            <!--只保留最近10天的日志-->
            <maxHistory>10</maxHistory>
            <!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志-->
            <!--<totalSizeCap>1GB</totalSizeCap>-->
        </rollingPolicy>
        <!--日志输出编码格式化-->
        <encoder>
            <!--<charset>UTF-8</charset>-->
            <pattern>${LOG-PATTERN}</pattern>
        </encoder>
    </appender>

    <!-- ERROR日志文件 -->
    <appender name="FILE-ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <!--过滤 ERROR-->
            <level>ERROR</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <!--滚动策略,按照时间滚动 TimeBasedRollingPolicy-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--文件路径,定义了日志的切分方式——把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间-->
            <FileNamePattern>${LOG-DIR}/${APP-NAME}/${APP-NAME}-error-%d{yyyyMMdd}.log</FileNamePattern>
            <!--只保留最近7天的日志-->
            <maxHistory>7</maxHistory>
            <!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志-->
            <!--<totalSizeCap>1GB</totalSizeCap>-->
        </rollingPolicy>
        <!--日志输出编码格式化-->
        <encoder>
            <!--<charset>UTF-8</charset>-->
            <pattern>${LOG-PATTERN}</pattern>
        </encoder>
    </appender>

    <!--wf日志-->
    <logger name="org.snaker.engine" level="DEBUG"/>

    <root level="INFO">
        <appender-ref ref="STDOUT"/>
        <appender-ref ref="FILE-ALL"/>
        <appender-ref ref="FILE-ERROR"/>
    </root>

    <!--<logger name="com.jjld.coupon.repository" level="DEBUG"/>-->
    <!--<logger name="com.jjld.coupon.com.infoview.third.mapper" level="DEBUG"/>-->

</configuration>

程序启动会生成error类和all两类日志文件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,logback-spring.xml的配置可以包括以下几个方面: 1. 配置<contextName>节点:可以设置logback上下文的名称,用于区分不同应用程序的记录。 2. 配置<property>节点:可以定义自定义的属性,方便在配置文件引用。 3. 配置<appender>节点:可以定义日志输出的目标和格式,例如文件、控制台等。 4. 配置<root>节点:可以设置根记录器的日志级别和输出目标。 5. 配置<logger>节点:可以设置特定包或类的日志级别和输出目标。 具体的logback-spring.xml配置文件可以参考以下示例: ``` <?xml version="1.0" encoding="UTF-8"?> <configuration scan="true" scanPeriod="60 seconds" debug="false"> <contextName>logback</contextName> <property name="log.path" value="/var/log/myapp" /> <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.path}/myapp.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${log.path}/myapp.%d{yyyy-MM-dd}.%i.log</fileNamePattern> <maxHistory>30</maxHistory> </rollingPolicy> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <root level="info"> <appender-ref ref="console" /> <appender-ref ref="file" /> </root> <logger name="com.example.myapp" level="debug"> <appender-ref ref="file" /> </logger> </configuration> ``` 以上配置文件示例,定义了一个名为"logback"的上下文,设置了一个名为"log.path"的属性,定义了一个名为"console"的控制台日志输出目标和一个名为"file"的文件日志输出目标。根记录器设置为输出到控制台和文件,而特定包"com.example.myapp"的日志级别设置为debug,并且只输出到文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值