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 ...
随机推荐
- Java-迭代器(新手)
//导入的包.import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;//创建的一个类.pub ...
- 让 Linux 防火墙新秀 nftables 为你的 VPS 保驾护航
上篇文章 给大家介绍了 nftables 的优点以及基本的使用方法,它的优点在于直接在用户态把网络规则编译成字节码,然后由内核的虚拟机执行,尽管和 iptables 一样都是基于 netfilter, ...
- ModelForm理解简单运用(增删改查)
from django.shortcuts import render, redirect,HttpResponse# Create your views here.from django.forms ...
- 【2019牛客暑期多校第三场】J题LRU management
题目链接 题意 好吧,这道题我其实看都没看过,队友跟我说了说这道题是模拟题,卡时间.然后我就上了-- 大致就是维护一个线性表,然后有两种操作:插入.查询 插入时,如果这个值(string)之前出现过, ...
- Hive面试准备
Hive与HBase的区别Hive架构原理Hive的数据模型及各模块的应用场景Hive支持的文件格式和压缩格式及各自特点Hive内外表的区分方法及内外部差异Hive视图如何创建.特点及应用场景Hive ...
- 干货系列之java注解
干货系列之java注解 前言 java反射和注解在java里面很重要,但是很多人对这方面的知识理解不是很好,我来说说我自己对java反射和注解的理解,这两块内容本来应该出在一个博客文章里面讲解,但是由 ...
- Python数据处理(持续更新)
#打开txt文件 #打开txt文件 with open('day02.txt') as f: for line in f.readlines(): aline=line.strip() bline=a ...
- Python如何用virtualenv搭建虚拟环境
虚拟环境的搭建 优点 1.使不同应用开发环境相互独立 2.环境升级不影响其他应用,也不会影响全局的python环境 3.防止出现包管理混乱及包版本冲突 windows 安装 # 建议使用pip3安装到 ...
- 在Windows中安装OpenCV-Python |四
目标 在本教程中 我们将学习在你的Windows系统中设置OpenCV-Python. 下面的步骤在装有Visual Studio 2010和Visual Studio 2012的Windows 7- ...
- 安装arcgis server时提示“应用程序无法启动,因为应用程序......或使用命令行sxstrace.exe”
说一下这个原因:有几个条件不满足会产生这样的问题: 1.软件的发布是不需要安装的,直接在vs里编译好release版就发布了,而发布的时候如果缺少一些库文件,就会产生这样的问题. 一版都是目 ...