1.说明

本文提供完整的log4j2.xml配置文件,
供开发中参考使用,可以作为模板,
配置对应实现如下常用的功能:
1.自动检测和重新加载配置,每10分钟(600s)检测一次
2.每个日志文件最大为100MB
3.每天备份一次日志文件
4.备份的日志文件压缩为gz格式
5.备份的文件放到以当前年月命名的目录
6.每天备份的日志文件个数最多为5个
7.最多保留6个月(180D)之内的日志文件

2.完整log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>
<!--status:Log4j2内部日志的输出级别,设置为TRACE对学习Log4j2非常有用 -->
<!--monitorInterval:定时检测配置文件的修改,有变化则自动重新加载配置,时间单位为秒,最小间隔为5s -->
<Configuration status="WARN" monitorInterval="600"><!--properties:设置全局变量 --><properties><!--LOG_HOME:指定当前日志存放的目录 --><property name="LOG_HOME">logs</property><!--FILE_NAME:指定日志文件的名称 --><property name="FILE_NAME">test</property></properties><!--Appenders:定义日志输出目的地,内容和格式等 --><Appenders><!--Console:日志输出到控制台标准输出 --><Console name="Console" target="SYSTEM_OUT"><!--pattern:日期,线程名,日志级别,日志名称,日志信息,换行 --><PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level [%L] - %msg%n" /></Console><!--RollingFile:日志输出到文件,下面的文件都使用相对路径 --><!--fileName:当前日志输出的文件名称 --><!--filePattern:备份日志文件名称,备份目录为logs下面以年月命名的目录,备份时使用gz格式压缩 --><RollingFile name="RollingFile" fileName="${LOG_HOME}/${FILE_NAME}.log"filePattern="${LOG_HOME}/$${date:yyyy-MM}/${FILE_NAME}-%d{yyyy-MM-dd}-%i.log.gz"><PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level [%L] - %msg%n" /><!--Policies:触发策略决定何时执行备份 --><Policies><!--TimeBasedTriggeringPolicy:日志文件按照时间备份 --><!--interval:每1天生成一个新文件,时间单位需要结合filePattern时间%d{yyyy-MM-dd} --><!--同理,如果要每1小时生成一个新文件,则改成%d{yyyy-MM-ddHH} --><!--modulate:对备份日志的生成时间纠偏,纠偏以0为基准进行,"0+interval"决定启动后第一次备份时间 --><TimeBasedTriggeringPolicy interval="1" modulate="true" /><!--SizeBasedTriggeringPolicy:日志文件按照大小备份 --><!--size:指定日志文件最大为100MB,单位可以为KB、MB或GB --><SizeBasedTriggeringPolicy size="100MB" /></Policies><!--DefaultRolloverStrategy:翻转策略决定如何执行备份 --><!--max:最多保存5个备份文件,结合时间使用后,在每个时间段内最多有5个备份,多出来的会被覆盖 --><!--compressionLevel:配置日志压缩级别,范围0-9,0不压缩,1压缩速度最快,9压缩率最好,目前只对于zip压缩文件类型有效 --><DefaultRolloverStrategy max="5" compressionLevel="1"><!--Delete:删除匹配到的过期备份文件 --><!--maxDepth:由于备份文件保存在${LOG_HOME}/$${date:yyyy-MM},所以目录深度设置为2 --><Delete basePath="${LOG_HOME}" maxDepth="2"><!--IfFileName:匹配文件名称 --><!--glob:匹配2级目录深度下的以.log.gz结尾的备份文件 --><IfFileName glob="*/*.log.gz" /><!--IfLastModified:匹配文件修改时间 --><!--age:匹配超过180天的文件,单位D、H、M、S分别表示天、小时、分钟、秒--><IfLastModified age="180D" /></Delete></DefaultRolloverStrategy></RollingFile></Appenders><!--Loggers:定义日志级别和使用的Appenders --><Loggers><!--name: 打印日志的类的包路径 --><!--additivity: true当前的Logger打印的日志附加到Root,false仅仅打印到RollingFile --><Logger name="org.apache.logging.log4j" level="ERROR" additivity="true"><AppenderRef ref="RollingFile" /></Logger><!--Root:日志默认打印到控制台 --><!--level日志级别: ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF --><Root level="ERROR"><AppenderRef ref="Console" /></Root></Loggers>
</Configuration>

3.参考文章

Log4j2基本使用入门
Log4j2进阶使用(按大小时间备份日志)
Log4j2进阶使用(Pattern Layout详细设置)

Log4j2完整XML参考(详细注释说明)相关推荐

  1. 【综合评价分析】熵权算法确定权重 原理+完整MATLAB代码+详细注释+操作实列

    [综合评价分析]熵权算法确定权重 原理+完整MATLAB代码+详细注释+操作实列 文章目录 1. 熵权法确定指标权重 (1)构造评价矩阵 Ymn (2)评价矩阵标准化处理 (3)计算指标信息熵值 Mj ...

  2. 【综合评价分析】topsis评价 原理+完整MATLAB代码+详细注释+操作实列

    [综合评价分析]topsis评价 原理+完整MATLAB代码+详细注释+操作实列 文章目录 1.TOPSIS法的原理 2.TOPSIS法案例分析 3.建立模型并求解 3.1数据预处理 3.2代码实现数 ...

  3. Unity3D 初级案例 推箱子 完整项目 带详细注释

    素材来源于 Unity Assets 商店 完整项目github链接 https://github.com/1520386112/Sokoban 运行效果 动画状态机 因为该项目对应的动画逻辑是按一下 ...

  4. python十点半游戏代码_十点半游戏完整代码及详细注释.py

    # -*- coding: utf-8 -*- #此版本,于2018年12月9日 #游戏类 class Game: #一般游戏进程,从读取存档开始 def Process(self): #初始回合数为 ...

  5. ★C语言期末课程设计★——学生成绩管理系统(完整项目+源代码+详细注释)

    学生成绩管理系统 目录 学生成绩管理系统 一.描述 二.设计目的 三.系统分析

  6. 如何用HTML和css实现简单的手风琴菜单效果,附带详细注释

    超完整的代码+详细注释,适合给小白做的简单的手风琴菜单实例 代码: <!DOCTYPE html> <html lang="en"><head> ...

  7. WinAPI入门: 第一个标准Win32窗口程序 [改进详细注释版]

    WinAPI入门: 第一个标准Win32窗口程序 下载链接: 若想立即看到本程序的运行结果,可点击EXE文件的免费下载链接; HelloWin_v1.sfx.exe;–带语音和背景音乐; 相关链接: ...

  8. PE文件格式”1.9版 完整译文(附注释)

    没看完,先贴上来,以再看! 标 题: [翻译]"PE文件格式"1.9版 完整译文(附注释) 作 者:ah007 时 间: 2006-02-28,13:32 链 接: http:// ...

  9. 【翻译】“PE文件格式”1.9版 完整译文(附注释)

    标 题: [翻译]"PE文件格式"1.9版 完整译文(附注释) 作 者: ah007 时 间: 2006-02-28,13:32:12 链 接: http://bbs.pediy. ...

最新文章

  1. 政府免费WiFi遭吐槽:近七成网友表示从未用过
  2. 看了SUMTEC的稍微思考了一下…… 感触颇深。讲一件身边的事:
  3. 前端教程之Intro.js轻松实现新手引导效果
  4. ZZULIOJ 1097: 计算平均成绩(函数专题)
  5. 华中科大10年计算机考研复试机试
  6. Ribbon的权重负载均衡策略
  7. Unity3D的四种坐标系
  8. Hive调优之 union all 效率低的问题解决
  9. android 7 sl4a,SL4A蟒蛇作出android手机
  10. 小白看了也会选:数据分析的常见工具有哪些
  11. 所谓的360,到底窥探了你多少隐私
  12. 企业微信oauth认证_微信企业号OAuth2验证接口实例(使用SpringMVC)
  13. 单片机(STC12C5A60S2)内部PWM实现呼吸灯
  14. SSD固态硬盘 4K对齐
  15. Windows 照片查看器无法显示此图片,因为计算机上的可用内存可能不足
  16. 我只管向前奔跑,其他的交给时间
  17. 【记忆化搜索】 hdu2452 Navy maneuvers
  18. 第二次作业--摩拜单车
  19. 魔域中文乱码还不让更新
  20. Codeforces Round #505 B. Weakened Common Divisor(思维)

热门文章

  1. 逻辑运算和作用域的问题
  2. 大学生创新项目认真投一篇中文核心的坎坷故事
  3. 统计学习方法六:支持向量机三(支持向量定量理解和算法总结)
  4. AngularJS入门之数据绑定
  5. LPTHW 笨办法学python 37章 python关键字/关键词介绍
  6. Html中的map标签
  7. Nhibernate+MVC开发日志
  8. Kanas.net Framework 入门介绍
  9. 初读JavaScript DOM编程艺术(一)
  10. 用JS判断不同分辨率调用不同的CSS样式文件