优秀的日志框架:logback+slf4j

转载自:https://www.jianshu.com/p/43c31c28e766

 

下面是根据网上总结logback.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!--【配置日志文件】-->
<!--scan定时扫描是否开启,scanPeroid定时扫描周期,默认60000ms,
    单位还可以是milli/millisecond/second/seconde/minute/hour/day,
    debug是否开启内部日志-->
<configuration scan="true" scanPeroid="600 seconds" debug="true">
    <!-- 存储日志文件路径,自定义绝对路径 -->
    <property name="FILE_PATH" value="E:/LOG/hlbb_Log" />
<!--日志输出到控制台-->
    <!--appender日志组件,name指定appender的名称,class属性指定appender的实现类-->
    <appender name="stout" class="ch.qos.logback.core.ConsoleAppender">
        <encoder charset="UTF-8">
            <pattern> <!--日志格式化-->
                %d{yyyy-MM-dd HH:mm:ss.SSS} |%-5level |%class |%thread |%method |%line |%msg%n
            </pattern>
        </encoder>
    </appender>

<!-- 以滚动方式生产日志文件-->
    <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--日志名称,如果没有File 属性,那么只会使用FileNamePattern的文件路径规则
            如果同时有<File>和<FileNamePattern>,那么当天日志是<File>,明天会自动把今天
            的日志改名为今天的日期。即,<File> 的日志都是当天的。-->
        <file>${FILE_PATH}/info.log</file>
        <rollingPoliy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${FILE_PATH}/error.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <!--保留30天的日志-->
            <MaxHistory>30</MaxHistory>
            <!-- 除按日志记录之外,还配置了日志文件不能超过2M,若超过2M,日志文件会以索引0开始
            ,命名日志文件,例如error-2018-06-10.0.log -->
            <TimeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>2M</maxFileSize>
            </TimeBasedFileNamingAndTriggeringPolicy>
            <!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志-->
            <!--<totalSizeCap>1GB</totalSizeCap>-->
        </rollingPoliy>
        <encoder>
            <charset>UTF-8</charset>
            <pattern>${PATTERN}</pattern>
        </encoder>

        <!-- 日志的过滤级别。只想要error级别的,设置如下-->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <!--小于error被过滤-->
            <level>ERROR</level>
            <!--匹配到就允许-->
            <onMatch>ACCEPT</onMatch>
            <!--没有匹配到就不允许-->
            <onMismatch>DENY</onMismatch>
        </filter>

<!--不同的开发环境,对于不同的日志。 test/dev/pro一般来说就是这三种,

appender-ref ref有两个映射:日志文件存储的地方,日志文件生产的方式--> 
<!--        &lt;!&ndash;测试环

境&ndash;&gt;-->
<!--        <springProfile name="test">-->
<!--            &lt;!&ndash;<root level="TRACE">&ndash;&gt;-->
<!--            <root level="INFO">-->
<!--                <appender-ref ref="stout" />-->
<!--                <appender-ref ref="file"/>-->
<!--                <appender-ref ref="CONSOLE"/>-->
<!--            </root>-->
<!--        </springProfile>-->
<!--        &lt;!&ndash;开发环境&ndash;&gt;-->
<!--        <springProfile name="dev">-->
<!--            <root level="DEBUG">-->
<!--                <appender-ref ref="ERRORFILE" />-->
<!--                <appender-ref ref="INFOFILE"/>-->
<!--            </root>-->
<!--        </springProfile>-->
<!--        &lt;!&ndash;生产环境&ndash;&gt;-->
<!--        <springProfile name="pro">-->
<!--            <root level="ERROR">-->
<!--                <appender-ref ref="ERRORFILE" />-->
<!--                <appender-ref ref="INFOFILE"/>-->
<!--            </root>-->
<!--        </springProfile>-->
<!--        &lt;!&ndash;具体个性化某个Controller或者某个包下使用指定级别的日志输出&ndash;&gt;-->
<!--        <logger name="com.black.example.*" level="INFO"/>-->
<!--        <logger name="org.springframework.web" level="DEBUG"/>-->
    </appender>
</configuration>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值