文档章节

SpringBoot应用下的一份logback-spring.xml配置清单

向码而生
 向码而生
发布于 08/11 15:05
字数 651
阅读 2
收藏 0

用SpringBoot开发应用时,一般采用slf4j api + logback进行日志输出,总结一份配置清单如下:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn">
    <property name="logback.logDir" value="/Users/maliang"/>

    <!--输出到控制台 ConsoleAppender-->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <!--展示格式 layout-->
        <encoder>
            <charset>UTF-8</charset>
            <pattern>%d [%t] %-5level %logger{36}.%M\(%file:%line\) - %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="infoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--如果只是想要 Info 级别的日志,只是过滤 info 还是会输出 Error 日志,因为 Error 的级别高,
            所以我们使用下面的策略,可以避免输出 Error 的日志-->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <!--过滤 Error-->
            <level>ERROR</level>
            <!--匹配到就禁止-->
            <onMatch>DENY</onMatch>
            <!--没有匹配到就允许-->
            <onMismatch>ACCEPT</onMismatch>
        </filter>
        <File>${logback.logDir}/info.log</File>
        <!--滚动策略,按照时间滚动 TimeBasedRollingPolicy-->
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!--文件路径,定义了日志的切分方式——把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间-->
            <FileNamePattern>${logback.logDir}/info.%d{yyyy-MM-dd}.%i.log.gz</FileNamePattern>
            <!-- 单个日志文件最多 100MB -->
            <maxFileSize>100MB</maxFileSize>
            <!--只保留最近30天的日志-->
            <maxHistory>30</maxHistory>
            <!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志-->
            <!--<totalSizeCap>1GB</totalSizeCap>-->
        </rollingPolicy>
        <!--日志输出编码格式化-->
        <encoder>
            <charset>UTF-8</charset>
            <pattern>%d [%t] %-5level %logger{36}.%M\(%file:%line\) - %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="errorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--如果只是想要 Error 级别的日志,那么需要过滤一下,默认是 info 级别的,ThresholdFilter-->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
        <!--日志名称,如果没有File 属性,那么只会使用FileNamePattern的文件路径规则
            如果同时有<File>和<FileNamePattern>,那么当天日志是<File>,明天会自动把今天
            的日志改名为今天的日期。即,<File> 的日志都是当天的。
        -->
        <File>${logback.logDir}/error.log</File>
        <!--滚动策略,按照时间滚动 TimeBasedRollingPolicy-->
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!--文件路径,定义了日志的切分方式——把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间-->
            <FileNamePattern>${logback.logDir}/error.%d{yyyy-MM-dd}.%i.log.gz</FileNamePattern>
            <!-- 单个日志文件最多 100MB -->
            <maxFileSize>100MB</maxFileSize>
            <!--只保留最近30天的日志-->
            <maxHistory>30</maxHistory>
            <!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志-->
            <!--<totalSizeCap>1GB</totalSizeCap>-->
        </rollingPolicy>
        <!--日志输出编码格式化-->
        <encoder>
            <charset>UTF-8</charset>
            <pattern>%d [%t] %-5level %logger{36}.%M\(%file:%line\) - %msg%n</pattern>
        </encoder>
    </appender>

    <root level="info">
        <appender-ref ref="console"/>
        <appender-ref ref="infoLog"/>
        <appender-ref ref="errorLog"/>
    </root>
</Configuration>

© 著作权归作者所有

共有 人打赏支持
向码而生
粉丝 5
博文 11
码字总数 10585
作品 0
西城
个人站长
SpringBoot基础教程2-1-5 日志规范-logback配置详解

概述 日志会在 之前初始化, 为我们提供了 属性,方便我们配置自定义日志文件。默认情况它会根据日志的依赖自动加载。 Logging System Customization JDK logging.properties Log4j2 log4j2-...

Mkeeper
07/15
0
0
不学无数——SpringBoot入门IV

SpringBoot 1.Profiles Spring Profiles能够在不同的环境中使不同的应用配置生效。@Component和@Configuration两个注解都能够通过@Profiles来标记。下面是例子: 在配置文件中可以通过sprin...

不学无数的程序员
07/23
0
0
spring boot配置logback

logback 简单说明 1.主要对象 Logger作为日志的记录器,把它关联到应用的对应的context上后,主要用于存放日志对象,也可以定义日志类型、级别。 Appender主要用于指定日志输出的目的地,目的...

李文良
2017/11/05
0
0
SpringBoot笔记(六)日志

SpringBoot默认使用作为日志记录。 同时也对包的和做了默认配置 默认配置 Spring Boot默认使用Logback来记录日志,并用INFO级别输出到控制台 默认输出元素: 时间日期:精确到毫秒 日志级别:...

世外大帝
04/25
0
0
Spring Boot项目的Logback配置文件使用yaml格式

1、普通的Spring项目使用logback默认用properties文件做为配置变量。 2、如果非要用yaml文件,那么可以转成Spring Boot项目,天生无缝结合 3、没办法,如果项目配置文件用了yaml,那么你的l...

easonjim
06/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

移除或自定义 WordPress 仪表盘欢迎面板

第一次登录 WordPress 后台仪表盘页面,默认都会显示 WordPress 的欢迎面板: 如果我们要移除这个面板,在主题的 functions.php 中添加下面的代码即可: 12 //移除 WordPress 仪表盘欢迎面...

james_laughing
8分钟前
0
0
HashMap实现原理及源码分析

HashMap实现原理及源码分析   哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,...

DemonsI
11分钟前
0
0
eggjs学习笔记

快速初始化 生成项目(要求最低的node版本8.x) npm i egg-init -gegg-init egg-example --type=simplecd egg-examplenpm i 启动项目 npm run dev 配置 环境配置会覆盖默认配置 config...

别人说我名字很长
14分钟前
1
0
Winform Timer控件时间间隔

sender as System.Timers.Timer).Interval = 23 * 60 * 60 * 1000.0;//将时间间隔改为23小时,23小时后重新发生timer_Elapsed事件。 //60000:时间间隔1分钟,300000:时间间隔5分钟,600000:...

笑丶笑
15分钟前
0
0
在win10系统下怎样快速切换任务视图

切换窗口:Alt + Tab 任务视图:Win + Tab (松开键盘界面不会消失) 切换任务视图:Win + Ctrl +左/右 创建新的虚拟桌面:Win + Ctrl + D 关闭当前虚拟桌面:Win + Ctrl + F4...

SummerGao
19分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部