log4j配置每天生成一个日志文件

news/2024/7/5 23:27:48

log4j配置每天生成一个日志文件

  1712人阅读  评论(0)  收藏  举报
  分类:

本文仅记录tomcat下配置成功的记录,不作log4j配置的详细使用解释。

该配置在tomcat的logs文件夹下每天产生新的日志文件(DEBUG级别:log.log)(ERROR级别:error.log),然后将前一天的日志文件log.log和error.log的名称修改为log.log_yyyy-MM-dd.log和error.log_yyyy-MM-dd.log(yyyy-MM-dd替换为该文件最后修改的日期)


#配置根Logger

log4j.rootLogger = debug,stdout,D,E


### 输出到控制台 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern =  %d{ABSOLUTE} %5p %c{1}:%L - %m%n


### 输出到日志文件 ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
###设置DatePattern,当天日志保存到log.log文件,前一天的日志文件名将被修改为
#log.log + _yyyy-MM-dd.log
log4j.appender.D.File =../logs/log.log
log4j.appender.D.DatePattern = '_'yyyy-MM-dd'.log'
log4j.appender.D.Append = true
## 输出DEBUG级别以上的日志
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n


### 保存异常信息到单独文件 ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
###设置DatePattern,当天日志保存到error.log文件,前一天的日志文件名将被修改为
#error.log + _yyyy-MM-dd.log
log4j.appender.E.File =../logs/error.log
log4j.appender.E.DatePattern = '_'yyyy-MM-dd'.log'
log4j.appender.E.Append = true
## 只输出ERROR级别以上的日志!!!
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout

log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n



在DailyRollingFileAppender中可以指定monthly(每月)、 weekly(每周)、daily(每天)、half-daily(每半天)、hourly(每小时)和minutely(每分钟)六个频度,这是通过为 DatePattern选项赋予不同的值来完成的。DatePattern选项的有效值为:

  • '.'yyyy-MM,对应monthly(每月)
  • '.'yyyy-ww,对应weekly(每周)
  • '.'yyyy-MM-dd,对应daily(每天)
  • '.'yyyy-MM-dd-a,对应half-daily(每半天)
  • '.'yyyy-MM-dd-HH,对应hourly(每小时)
  • '.'yyyy-MM-dd-HH-mm,对应minutely(每分钟)

DatePattern中不用处理的文字要放到单引号(')中,如上面的(.)。


http://www.niftyadmin.cn/n/2432901.html

相关文章

24.C语言 结构体与链表

结构体变量分为数据域和指针域 结构体变量和数组变量一样都是由大到小开始分配存储单元 0FFFFNode110FFF00FFF0Node220FF000FF00Node33NULL 静态链表 动态链表 ①创建一个表头去表示整个链表 struct Node *creatListHead() { //1.赋值结构体变量//2.动态内存申请struct Node …

LaTeX 常见错误汇总及解决方案

2019独角兽企业重金招聘Python工程师标准>>> fwrite: Broken pipe xelatex.exe: 生成的pdf已打开 XeTeX is required to compile this document 需要XeLaTeX来编译此文档 !LaTeX Error: Too many unprocessed floats. 老大:那是有图片出现了浮…

44.Linux 管道

管道的概念: 管道是一种最基本的IPC机制,作用于有血缘关系的进程之间,完成数据传递。调用pipe系统函数即可创建一个管道。有如下特质: 1.其本质是一个伪文件(实为内核缓冲区)。 2.由两个文件描述符&#…

从零单排学Redis【黄金】

前言 只有光头才能变强 好的,今天我们要上黄金段位了,如果还没经历过青铜和白银阶段的,可以先去蹭蹭经验再回来: 从零单排学Redis【青铜】从零单排学Redis【白银】看过相关Redis基础的同学可以知道Redis是单线程的,很多…

部署war包到Tomcat

部署war包到Tomcat 1. 开发给到一个war包,假设叫 a-b-c.war。 2. 打开Tomcat安装路径 ,假设是“D:\Tomcat\apache-tomcat-7.0.68”,然后进入到 webapps文件夹。 3. 把 a-b-c.war丢到 webapps文件夹。 4. 启动Tomcat。 如果不需要更改配置文件…

MyEclipse2014搭建SSH框架

MyEclipse2014搭建SSH框架 2016-06-28 22:16 4868人阅读 评论(0) 收藏 举报版权声明:本文为博主原创文章,未经博主允许不得转载。 一. 创建一个Web Project 点击 “Next >”,默认设置,然后再点击“Next >”,勾选…

Redis集群环境下的-RedLock(真分布式锁) 实践

在不同进程需要互斥地访问共享资源时,分布式锁是一种非常有用的技术手段。 有很多三方库和文章描述如何用Redis实现一个分布式锁管理器,但是这些库实现的方式差别很大,而且很多简单的实现其实只需采用稍微增加一点复杂的设计就可以获得更好的…

复杂事件处理(CEP)语句

本页目录语法示例MATCH_RECOGNIZE用于从输入流中识别符合指定规则的事件,并按照指定的方式输出。 语法 SELECT [ ALL | DISTINCT ]{ * | projectItem [, projectItem ]* }FROM tableExpression[MATCH_RECOGNIZE ([PARTITION BY {partitionItem [, partitionItem]*}]…