logback日志实战
<?xml version="1.0" encoding="UTF-8" ?>
<!--
<configuration>
<appender></appender> //存在1或多个,功能指定记录输出目的地
<root></root> //最多存在一个,根logger
<logger><logger> //存在1或多个,普通logger
</configuration>
-->
<configuration> <!-- 从本地spring文件获取信息 获取项目名称 -->
<springProperty scope="context" name="PROJECT_NAME" source="spring.application.name"/> <!-- 存储在文件中的打印日志 格式 -->
<property name="FILE_PATTEN"
value="[%level] [%date{ISO8601}] [%logger] [%thread] [%X{clientIp}] [%X{requestId}] [%X{serverIp}] [%X{X-B3-TraceId}] %msg%n"/>
<!-- 打印在控制台文件输出格式 -->
<property name="CONSOLE_PATTEN"
value="[%highlight(%-5level)] [%date{ISO8601}] [%boldGreen(%logger)] [%boldYellow(%thread)] [%X{clientIp}] [%cyan(%X{requestId})] [%X{serverIp}] %msg%n"/> <!-- 日志打印在 控制台 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${CONSOLE_PATTEN}</pattern>
</encoder>
</appender> <!--按照文件个数 和日志文件大小进行的回收策略 每天最多保留20个 每个最大100兆,最多保留一天-->
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${user.home}/logs/${PROJECT_NAME}/${PROJECT_NAME}.log</file>
<append>true</append>
<!--指定日志输出级别 到不同的日志-->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<!--文件超过100兆,新建一个日志文件,日志文件最多20个,每天清理一次 -->
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<!--设置以文件结尾zip表示压缩 -->
<fileNamePattern>${user.home}/logs/${PROJECT_NAME}/${PROJECT_NAME}.%i.log</fileNamePattern>
<minIndex></minIndex>
<maxIndex></maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<!--日志归档大小 -->
<maxFileSize>1kB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>${FILE_PATTEN}</pattern>
<charset>UTF-</charset>
</encoder>
</appender> <!--按照日志级别打印-->
<appender name="error_file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${user.home}/logs/${PROJECT_NAME}/error/${PROJECT_NAME}.log</file>
<append>true</append>
<!--指定日志输出级别 到不同的日志 可以自定义过滤器 输出 各种不同类型日志 如sql-->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>${user.home}/logs/${PROJECT_NAME}/${PROJECT_NAME}_error.%i.log</fileNamePattern>
<minIndex></minIndex>
<maxIndex></maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>1KB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>${FILE_PATTEN}</pattern>
<charset>UTF-</charset>
</encoder>
</appender> <!-- 日志按天压缩归档 根据设置的保留天数自动更新-->
<appender name="info_file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${user.home}/logs/${PROJECT_NAME}/info/${PROJECT_NAME}.log</file>
<append>true</append>
<!--指定日志输出级别 到不同的日志 可以自定义过滤器 输出 各种不同类型日志 如sql-->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 生成按编号的认知 i%代表个数-->
<!--<fileNamePattern>${user.home}/logs/${PROJECT_NAME}/info/${PROJECT_NAME}-%d{yyyy-MM-dd}.%i.log-->
<fileNamePattern>${user.home}/logs/${PROJECT_NAME}/info/${PROJECT_NAME}-%d{yyyy-MM-dd}.%i.log.zip
</fileNamePattern>
<!-- 日志多大进行归档-->
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!-- 保留的天数 -->
<MaxHistory></MaxHistory>
</rollingPolicy>
<encoder>
<pattern>${FILE_PATTEN}</pattern>
<charset>UTF-</charset>
</encoder>
</appender> <!--指定打印到什么环境日志 设置打印日志级别 到控制台 和文件-->
<springProfile name="test">
<root level="DEBUG">
<appender-ref ref="console"/>
<appender-ref ref="file"/>
<appender-ref ref="error_file"></appender-ref>
<appender-ref ref="info_file"></appender-ref>
</root>
</springProfile> </configuration>
logback日志实战的更多相关文章
- 【SpringBoot】Logback日志框架介绍和SpringBoot整合实战
========================11.Logback日志框架介绍和SpringBoot整合实战 2节课================================ 1.新日志框架L ...
- 11、Logback日志框架介绍和SpringBoot整合实战 2节课
1.新日志框架LogBack介绍 简介:日志介绍和新日志框架Logback讲解 1.常用处理java的日志组件 slf4j,log4j,logback,common-logging 等 ...
- 小D课堂 - 零基础入门SpringBoot2.X到实战_第11节 Logback日志框架介绍和SpringBoot整合实战_45、SpringBoot2.x日志讲解和Logback配置实战
笔记 2.SpringBoot2.x日志讲解和自定义Logback配置实战 简介:讲解SpringBoot2.x整合Logback配置实战 1.官网介绍:https://docs.spring ...
- Java日志实战及解析
Java日志实战及解析 日志是程序员必须掌握的基础技能之一,如果您写的软件没有日志,可以说你没有成为一个真正意义上的程序员. 为什么要记日志? • 监控代码 • 变量变化情况, ...
- Logback日志系统配置攻略
logback是log4j作者推出的新日志系统,原生支持slf4j通用日志api,允许平滑切换日志系统,并且对简化应用部署中日志处理的工作做了有益的封装. 官方地址为:http://logback.q ...
- lombok+slf4j+logback SLF4J和Logback日志框架详解
maven 包依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lomb ...
- mybatis用logback日志不显示sql的解决办法
mybatis用logback日志不显示sql的解决方法 1.mybatis-config.xml的设定 关于logimpl的设定值还不支持logback,如果用SLF4J是不好用的. 这是官方文档的 ...
- Logback日志配置的简单使用
Logback介绍 Logback是由log4j创始人设计的又一个开源日志组件.logback当前分成三个模块:logback-core,logback- classic和logback-access ...
- 在SpringBoot中添加Logback日志处理
前言 SpringBoot项目中在官方文档中说明,默认已经依赖了一些日志框架.而其中推荐使用的就是Logback,所以这一次我将在我的模版中加入Logback日志的配置,说明一下,SpringBoot ...
随机推荐
- Worktile 进军软件开发与协作的初心与野心
作为国内领先的企业协作工具,过去6年Worktile经历了中国SaaS跌宕起伏的蛮荒时代.当国内2C领域逐步布局成熟,巨头和资本也逐步将目光聚焦在2B这个万亿级大赛道,疫情期间和之后,都将加速企业服务 ...
- 强连通分量SCC 2-SAT
强连通分量SCC 2-SAT 部分资料来自: 1.https://blog.csdn.net/whereisherofrom/article/details/79417926 2.https://ba ...
- 用docker搭建selenium grid分布式环境实践之路
最近需要测试zoom视频会议,同时模拟100个人加入会议.经过了解,zoom提供了直接通过url链接加入会议的方式(只能通过chrome浏览器或者FireFox浏览器,因为用的协议是webrtc). ...
- 重定向 CORS 跨域请求
TL;DR 非简单请求不可重定向,包括第一个preflight请求和第二个真正的请求都不行. 简单请求可以重定向任意多次,但如需兼容多数浏览器,只可进行一次重定向. 中间服务器应当同样配置相关 COR ...
- H3C路由器地址池租期时间H3CMSR830-6BHI-WiNet
H3C路由器地址池租期时间H3CMSR830-6BHI-WiNet 设备H3CMSR830-6BHI-WiNet 先输入dis dhcp server tree pool 查看地址池名称,然后 < ...
- [模板] LCA-最近公共祖先-倍增法
2019-11-07 09:25:45 C.树之呼吸-叁之型-树上两点路径长度 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 7 (4 ...
- nginx openssl升级支持http2
阿里云openssl升级,实现nginx主动推送 nginx主动推送能够有效减少不必要的报文传输,减少用户请求次数,以达到更快访问速度 现有版本检查 [root@node3 ~]# openssl v ...
- 攻防世界web新手区
攻防世界web新手区 第一题view_source 第二题get_post 第三题robots 第四题Backup 第五题cookie 第六题disabled_button 第七题simple_js ...
- 用libevent写个简单的server/client
libevent是一个轻量级的事件触发库,可以很好地利用在网络通讯上面,用其进行大量的异步,延时,重发等场景. 下面是一个server的demo #include include void cb_fu ...
- jQuery的层级选择器
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...