为Log4j配置appender,我现在已经学会了RollingFileAppender的配置,不过总是觉得不太方便,能不能让Log4j帮我这样记录日志:
1.我想日志按天来记录,比如我制定一个文件名前缀为Web_Log,然后Log4j自动什么每天的日志,如Web_Log 2004-7-29.log,Web_Log 2004-7-30.log ...
2.如果这个功能实现的话,可不可以限定每个日志文件的大小(如5M),如果长度超出的话,自动分割日志(比如2004-7-29的日志为16M,分割成
3个文件
Web_Log 2004-7-29.log.1,Web_Log 2004-7-29.log.2,Web_Log 2004-7-29.log.3)
帮我按两个功能点分别实现,谢谢:>
--------------------------------------------------------
还有一点疑惑的就是,整个Log4j帮助文档根本没有系统的对log4j.properties配置说的详细说明,比如
log4j.appender.R.File=d:/log/example.log
File这个配置项,我是看了别人的示例才知道有他的存在,这个我从什么地方可以得到完整的说明呢?
---------------------------------------------------------------
你说的功能Log4j都有,好好找找..
---------------------------------------------------------------
http://tech.ccidnet.com/pub/article/c985_a51061_p1.html
下面是一个典型的log4j.properties属性文件。
# 默认日志级别ERROR。其他可供选择的级别包括INFO和DEBUG
log4j.rootLogger=ERROR, ROOT
log4j.appender.ROOT=org.apache.log4j.RollingFileAppender
log4j.appender.ROOT.File=myapplication.log
log4j.appender.ROOT.MaxFileSize=1000KB
# 保留5个旧的日志文件
log4j.appender.ROOT.MaxBackupIndex=5
log4j.appender.ROOT.layout=org.apache.log4j.PatternLayout
# 日志格式:按照WebSphere通用日志格式相似的方式记录
log4j.appender.ROOT.layout.ConversionPattern=[%d] %t %c %-5p - %m%n
# 有选择地更改某些包或者类的日志级别
log4j.logger.com.webage.ejbs=INFO
---------------------------------------------------------------
http://dev.csdn.net/article/31827.shtm
我们开发的B/S结构系统,在服务端一般要有日常运行的日志记录。保存成日志文件形式的时候,大家经常会遇到一个问题:日志文件过大。上
百兆的日志文件对 查阅日志信息来说也是一个问题。所以我希望能够每天或每个月产生一个日志文件,这样文件不至于过大。 或者根据日志文件大小来判断,超
过规定大小,日志自动增加新文件。
在log4j中这两种方式的实现都很简单,只要在配置文件中设置即可。
一、按照一定时间产生日志文件,配置文件如下:
# Set root logger level to ERROR and its only appender to A1.
log4j.rootLogger=ERROR,R
# R is set to be a DailyRollingFileAppender.
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=backup.log
log4j.appender.R.DatePattern = '.'yyyy-MM-dd
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
以上配置是每天产生一个备份文件。其中备份文件的名字叫backup.log。
具体的效果是这样:当天的日志信息记录在backup.log文件中,前一天的记录在名称为 backup.log.yyyy-mm-dd 的文件中。
类似的,如果需要每月产生一个文件可以修改上面的配置:
将
log4j.appender.R.DatePattern = '.'yyyy-MM-dd
改为
log4j.appender.R.DatePattern = '.'yyyy-MM
二、根据日志文件大小自动产生新日志文件
配置文件内容如下:
# Set root logger level to ERROR and its only appender to A1.
log4j.rootLogger=ERROR,R
# R is set to be a RollingFileAppender.
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=backup.log
#log4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
其中:
#日志文件的大小
log4j.appender.R.MaxFileSize=100KB
# 保存一个备份文件
log4j.appender.R.MaxBackupIndex=1
我现在在出差,要是我回到公司的话,我可以把以前项目中log4j的文档共享一下,其实也就是楼上说的那些东西,没啥子!! log4j使用起来很easy的
分享到:
相关推荐
本工程基于Eclipse IDE,配置了一个简单的Log4j设置,实现了每天自动将日志输出到一个特定命名格式的文件中,即“XXX_年月日时分.log”。下面我们将详细解析这个配置及其工作原理。 1. **Log4j介绍**: Log4j是一...
delaycompress # 延迟压缩,确保新产生的日志被添加到旧文件后再压缩 notifempty # 如果日志为空,则不旋转 create 644 root adm # 创建新日志文件的权限 } ``` 3. **使用日志管理系统**:对于更复杂的需求,...
这段代码创建了一个名为console的appender,将日志信息输出到System.out,并设置了日志格式。 3. **Layout**: 控制日志输出的格式。常见的布局有PatternLayout、HTMLLayout等。例如,PatternLayout允许自定义输出...
本文将介绍一种简化自glog的日志功能,它专注于写入日志文件,不再包含glog的其他复杂特性。 首先,这个简化版的日志系统提供了多种方式来记录日志,例如通过`LOG(INFO) 语法,以及条件性的`LOG_IF(INFO, condition...
这种机制可以通过两种主要方式实现:一是按时间间隔滚动,如每天生成一个新的日志文件;二是按文件大小滚动,当文件大小超过阈值时进行滚动。 在提供的压缩包文件中,有两个文件——SAStatusLog.h和SAStatusLog.cpp...
自 2013-05-30 起,每天生成一个数据文件,约 150MB 左右,日志文件不再是在一个文件里边。日志记录格式如图 2 所示,每行记录有 5 部分组成:访问者 IP、访问时间、访问资源、访问状态(HTTP 状态码)、本次访问...
然而,随着系统运行时间的增长,这些日志文件会占用大量磁盘空间,尤其是那些每天产生大量日志的服务器。当日志达到一定大小时,可能会导致系统性能下降或日志被自动覆盖,因此定期备份和清理日志是必要的。 ...
- **日志审查**:建议每天或至少每周审查一次日志文件,具体频率取决于组织的安全策略。对于任何异常登录尝试或可疑行为,都应立即采取措施。 #### 日志的重要性 - **安全审计**:日志文件可以帮助识别潜在的安全...
该企业拥有多个业务系统,每天会产生大量的日志数据。由于日志数据量庞大,人工处理和管理这些数据非常困难。因此,该企业需要一个系统来自动化管理这些日志数据,以便更好地监控业务系统的运行情况,并快速发现和...
在使用Log4j产生日志时,首先我们需要在项目中引入Log4j的依赖库。Log4j通常有两个版本:Log4j 1.x 和 Log4j 2.x,这两个版本在API和配置方面有所不同。在这个实例中,我们假设使用的是Log4j 1.x,因为它是更常见且...
通过以上步骤,我们可以实现在Linux环境下部署ELK Stack,并结合logback+slf4j的日志输出策略,有效地管理和分析应用系统产生的日志数据。这种日志处理方案不仅能够提高系统的可维护性,还能帮助快速定位和解决问题...
日志每天为我们忠实的记录着系统所发生一切,利用系统日志文件,可以使系统管理员快速对潜在的系统入侵作出记录和预测,但遗憾的是目前绝大多数的人都忽略了它的存在。反而是因为黑客们光临才会使我们想起这个重要的...
然而,由于网络设备和应用系统每天都会产生大量的日志数据,如何有效地管理和分析这些日志成为了一项挑战。 #### 三、网络环境日志分类 在第一章“网络日志获取与分析”中,作者将网络环境中的日志分为三大类: 1...
- **数据量庞大**:随着用户基数的增长,每天产生的日志数据量十分惊人。 - **格式不统一**:不同业务系统产生的日志格式可能各不相同,给数据整合带来困难。 - **信息冗余**:原始日志中包含大量非关键信息,需要...
日志配置则涉及到如何记录、存储、检索和分析应用程序产生的日志信息。良好的日志配置可以帮助开发者追踪程序错误、优化性能、监控系统健康状况,甚至在问题发生时提供回溯。常见的日志配置项包括日志级别(如DEBUG...
在 FTP 和 WWW 日志中,每天生成一个日志文件,包含了该日的一切记录,文件名通常为年份、月份、日期的组合,例如 `ex001023` 就是 2000 年 10 月 23 日产生的日志。这些日志文件可以帮助管理员追踪系统事件、监控...
例如,每天创建一个新的日志文件,或当文件达到特定大小时滚动。myLogApp可能包含这样的功能,以保持日志管理的有效性。 6. **异步日志记录** 为了提高性能,日志记录可以设计为异步。这样,日志写入不会阻塞主线...
事件存储解决方案,事件在做存储时使用的解决方案是将每天所有的事件原始消息和事件解析后的结果存放在一个事件表中,这个表每天会自动产生一个,也是时间备份归档的对象,该表可供普通查询和高级查询使用。...