log4j2.x日志按日期分隔

log4j2.x的日志在性能上有很大的提升,也被标识为下一代的异步日志管理系统。
项目组在使用的时候,发现日志没有按照日期进行文件分割。于是亲自上log4j2.x的官网查看了部分文档。
按如下配置即可实现日志按日期进行分割:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
  <Appenders>
  	<!-- 配置日志输出文件名字     追加读写 -->
    <RollingFile name="taoge" fileName="logs/taoge.log" filePattern="logs/taoge.%d{yyyy-MM-dd}.log" append="true">
    	<!-- 输出格式 -->
        <PatternLayout pattern="[%l] [%t] [%-4r] [%d{yyyy-MM-dd HH:mm:ss,SSS}] [%p] \: %m%n"/>
        <!-- 设置策略 -->
        <Policies>
        	<!-- 基于时间的触发策略。该策略主要是完成周期性的log文件封存工作。有两个参数:
				interval,integer型,指定两次封存动作之间的时间间隔。单位:以日志的命名精度来确定单位,
					比如yyyy-MM-dd-HH 单位为小时,yyyy-MM-dd-HH-mm 单位为分钟
				modulate,boolean型,说明是否对封存时间进行调制。若modulate=true,
					则封存时间将以0点为边界进行偏移计算。比如,modulate=true,interval=4hours,
					那么假设上次封存日志的时间为03:00,则下次封存日志的时间为04:00,
					之后的封存时间依次为08:00,12:00,16:00
			 -->
            <TimeBasedTriggeringPolicy interval="1" modulate="true" />
        </Policies>
    </RollingFile>
  	<!-- 标准输出 -->
    <Console name="STDOUT" target="SYSTEM_OUT">
      <!-- 输出格式 -->
      <PatternLayout pattern="[%l] [%t] [%-4r] [%d{yyyy-MM-dd HH:mm:ss,SSS}] [%p] \: %m%n"/>
    </Console>
  </Appenders>
  <Loggers>
    <!-- 配置记录器级别 -->
    <Root level="debug">
    	<AppenderRef ref="taoge"/>
      	<!-- 输出设置 -->
      	<AppenderRef ref="STDOUT"/>
    </Root>
  </Loggers>
</Configuration>

欢迎大家关注我的博客,如有疑问,请加qq群:454796847、135430763 共同进步!

时间: 2024-12-31 03:08:01

log4j2.x日志按日期分隔的相关文章

apache日志按日期生成文件 限制日志文件大小

先我们来看我日志不分日期大小的情况配置方法  代码如下 复制代码 LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined CustomLog "E:/1408.log"  combined 这样生成的访问日志超大了并且后面100多GB了,无法打开查看了,这样肯定不是办法于是搜索了日志按大小存放的方法  代码

apache日志文件太大按日期/指定生成日志文件

指定apache日志每天生成一个文件 Linux系统配置方法 在apache的配置文件httpd.conf中找到  代码如下 复制代码 ErrorLog logs/error_log CustomLog logs/access_log common 将其改为 ErrorLog "| /usr/local/apache/bin/rotatelogs /home/logs/www/%Y_%m_%d_error_log 86400 480" CustomLog "| /usr/lo

Log4j定时打印日志及添加模块名配置的Java代码实例_java

配置间隔时间,定时打印日志 接到个需求,通过log4j定时打印日志,需求描述如下:需要能够定时打印日志,时间间隔可配.说到定时,首先想到了DailyRollingFileAppender类,各种定时,根据datePattern,这个可以参考类SimpleDateFormat类,常见的一些定时设置如下: '.'yyyy-MM: 每月  '.'yyyy-ww: 每周   '.'yyyy-MM-dd: 每天  '.'yyyy-MM-dd-a: 每天两次  '.'yyyy-MM-dd-HH: 每小时 

javascript日期计算实例分析

  本文实例讲述了javascript日期计算.分享给大家供大家参考.具体如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 function setLeaveDate(){ var inDay=$("#date_6").val(); // 获取的日期格式为2014-07-03 var date=inDay.split('-'); // 将日期分隔成数字 var num=$(&quo

【整理】MySQL 之 日志

MySQL 中的各种日志文件  1. 错误日志 --log-error[=file_name]       错误日志记录了 mysql server 运行过程中所有较为严重的警告和错误信息,以及 mysql 每次启动和关闭的详细信息.       错误日志默认放在数据目录下,以 hostname.err 命名.但是可以使用命令 --log-error[=file_name] 修改其存放目录和文件名.       有时候,希望将错误日志做备份并重新开始记录,使用 flush logs 命令备份文件

Nginx学习之自定义访问日志

写在开始 日志的重要性不言而喻,一般来说我们开发过程中会为每个项目定义自己的日志格式以及存储路径. 就我们普通的JAVAWEB项目来说,重要的日志一般输出并存放在Tomcat的log目录下,并区分日志输出级别.用于区分,查阅并统计相关日志信息. 当然,这不是重点,重点是很多公司,对于日志的重要性似乎并不是那么重视,当然这可能跟平台本身有一定的关系. 日志配置 其实分析Nginx日志,可以得到很多有用的数据,响应耗时的url.请求时间,各个时间段的请求量,并发量.配合使用ELK日志系统可以很好的呈

C# 简易异步日志类 [ C# | Log | TextWriterTraceListener ]

前言 即使是小型项目,也需要日志的功能,这里就不讨论Log4Net之类的框架,提供一个异步的.控制台输出+日志文件输出的简易日志帮助类.   正文 一.帮助类文件Logger.cs //=========================================//// 作 者:农民伯伯// 邮 箱:over140@gmail.com// 博 客:http://over140.cnblogs.com/// 时 间:2009-7-16// 描 述:日志类,注意需要在日志记录的目录给用户写入权

Flume + Solr + log4j搭建web日志采集系统

前言 很多web应用会选择ELK来做日志采集系统,这里选用Flume,一方面是因为熟悉整个Hadoop框架,另一方面,Flume也有很多的优点. 关于Apache Hadoop Ecosystem 请点击这里. Cloudera 官方的教程也是基于这个例子开始的,get-started-with-hadoop-tutorial 并且假设我们已经了解Flume(agent, Source, Channel, Sink) , Morphline (ETL), Solr (全文检索),如果都没有了解,

手把手教你完成MaxCompute JDBC自定义日志配置

注:MaxCompute原名ODPS,是阿里云自研的大数据计算平台,文中出现的MaxCompute与ODPS都指代同一平台,不做区分 与MaxCompute JDBC相关的日志有两种,一种是由JDBC内部代码直接输出的日志,第二种是JDBC抛出异常后,由调用JDBC API的宿主应用捕获后输出的.由于第二类日志取决于宿主应用如何处理异常及如何配置日志体系,所以本文主要讨论的对象是第一种日志. 在2.0-beta之前,MaxCompute JDBC的日志只会输出到命令行终端(标准输出流),它底层使