log4j配置详解:properties与XML实例
需积分: 19 87 浏览量
更新于2024-12-22
收藏 81KB PDF 举报
"本文将详细解释log4j的常用配置,包括.properties和.xml两种配置文件的示例。log4j是Java中广泛使用的日志记录框架,它提供了灵活的日志管理机制,帮助开发者控制和定制日志输出。"
在Java开发中,log4j是一个至关重要的工具,它允许程序员控制应用程序中的日志输出,从而方便调试、监控和问题排查。本文将探讨log4j的两种主要配置方式:基于.properties文件和基于.xml文件。
一、log4j.properties配置
1. 日志级别设置:
- `log4j.category.com.unmi` 这一行定义了com.unmi域的日志级别,这里设置为ERROR和INFO,并同时输出到A1和A2。通常,我们会统一设置root logger的级别,然后对特定包或类进行更具体的级别控制。
- `log4j.rootLogger=DEBUG,A1` 设置根logger的级别为DEBUG,并指定输出目的地A1。
- `log4j.logger.com.unmi.special=ERROR` 这里设置了com.unmi.special包的日志级别为ERROR,这意味着只有ERROR级别的日志会被记录。
2. Appender配置:
- `log4j.appender.A1=org.apache.log4j.ConsoleAppender` 定义了一个名为A1的appender,它将日志输出到控制台。
- `log4j.appender.A2=org.apache.log4j.RollingFileAppender` 定义了A2,这是一个滚动文件appender,当文件达到一定大小时会创建新的文件。
3. Layout配置:
- `log4j.appender.A1.layout=org.apache.log4j.PatternLayout` A1使用PatternLayout,可以自定义输出格式。
- `log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS}[%c]-[%p]%m%n` 这里定义了日志的输出格式,包括日期、类名、级别和日志消息。
- `log4j.appender.A2.layout=org.apache.log4j.HTMLLayout` A2使用HTMLLayout,将日志以HTML格式输出。
4. RollingFileAppender配置:
- `log4j.appender.A2.File=E:/study/log4j/zhuwei.html` 指定日志文件的位置。
- `log4j.appender.A2.MaxFileSize=500KB` 当文件大小达到500KB时,会创建新文件。
- `log4j.appender.A2.MaxBackupIndex=1` 最多保留一个备份文件。
二、log4j.xml配置
XML配置方式提供了更结构化的配置,同样包含logger、appender和layout的定义。以下是一个简化的.xml配置示例:
```xml
<?xml version="1.0" encoding="GB2312"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration>
<appender name="A1" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss,SSS} [%c] - [%p] %m%n"/>
</layout>
</appender>
<appender name="A2" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="E:/study/log4j/zhuwei.log"/>
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ABSOLUTE} %5p %c{1}:%L - %m%n"/>
</layout>
</appender>
<logger name="com.unmi">
<level value="ERROR"/>
</logger>
<root>
<priority value="DEBUG"/>
<appender-ref ref="A1"/>
<appender-ref ref="A2"/>
</root>
</log4j:configuration>
```
在这个.xml配置中,我们看到了与.properties文件相似的元素,如logger、appender和layout的定义,但它们以XML标签的形式存在。例如,`<logger>`元素用于定义日志级别,`<appender>`元素用于配置输出目标,而`<layout>`元素则用于定义日志的显示格式。
总结来说,log4j通过.properties或.xml文件提供了一种灵活的方式来管理和定制日志输出。开发者可以根据项目需求选择合适的配置方式,设置日志级别、输出目的地、格式以及文件滚动策略等,以确保日志系统既有效又高效。
2017-06-21 上传
2012-03-07 上传
2012-05-15 上传
449 浏览量
2010-03-28 上传
2008-12-18 上传
2011-02-16 上传
sunwin198
- 粉丝: 4
- 资源: 43
最新资源
- zen:Woohoo Labs。 Zen是一种非常快速,简单,符合PSR-11的DI容器和预加载文件生成器
- TKC:Projekt dalekohledu dopředmětuTKC
- 3.rar_单片机开发_C/C++_
- electronics-shop:Petto是想要宠物的人的在线宠物商店。
- PyPI 官网下载 | skygear-0.6.0.tar.gz
- ember-place-autocomplete
- 重复数据删除:用于准确,可扩展的模糊匹配,记录重复数据删除和实体解析的python库
- Citadel:渗透测试脚本的集合
- MIDletCode.zip_棋牌游戏_Java_
- MessageProcessingApplication
- 反汇编程序:借助capstone和ptrace的简单实验性反汇编程序
- Thierry-Cayman-Art:艺术家网站的Vue.js前端(Django后端)
- SpoofMAC:更改您的MAC地址以进行调试
- PHP开源api管理平台源码v1.2 带后台
- 全球顶尖j2me手机游戏揭密 pdf
- rcc:随机凯撒密码