log4j配置与日志信息详解
"这篇文章主要介绍了log4j框架的使用,包括日志级别、输出目的地配置、日志格式和一些常见的转换符。" 在Java开发中,log4j是一个广泛使用的日志记录框架,它提供了丰富的功能,使得开发者可以方便地控制和定制日志输出。下面我们将深入探讨log4j的主要知识点。 1. **日志级别** - **ERROR**:这是最严重的级别,通常表示程序中出现无法恢复的错误,可能导致程序停止运行。 - **WARN**:警告级别,表示程序中可能存在的问题,比如session丢失或潜在的性能问题。 - **INFO**:信息级别,用于记录程序中的常规信息,如服务启动、停止等关键操作。 - **DEBUG**:调试级别,提供详细的日志信息,帮助开发者在调试过程中定位问题。 2. **日志输出目的地配置** - **ConsoleAppender**:将日志信息输出到控制台,方便开发者在命令行环境下查看日志。 - **FileAppender**:将日志写入指定的文件,便于长期存储和分析。 - **DailyRollingFileAppender**:每天创建一个新的日志文件,旧的日志文件会根据日期自动重命名保存。 - **RollingFileAppender**:当文件达到一定大小或者经过一定时间后,自动滚动到新的文件。 - **WriterAppender**:允许将日志信息写入任何实现了`java.io.Writer`接口的类,例如数据库或网络流。 3. **日志信息格式** - **HTMLLayout**:生成HTML表格格式的日志,便于在网页中查看。 - **PatternLayout**:通过自定义模式来决定日志的输出格式,具有高度灵活性。 - **SimpleLayout**:简单的日志格式,只包含日志消息本身。 - **TTCCLayout**:包含时间戳、线程名、类别和日志消息的格式。 4. **转换符与日志格式化** - `%p`:输出日志级别。 - `%d`:打印日志事件的时间戳,可以指定不同的日期和时间格式。 - `%r`:输出从应用程序启动到生成该日志事件所经历的毫秒数。 - `%c`:输出日志记录器的名称,即类名。 - `%t`:输出产生日志事件的线程名。 - `%l`:输出产生日志事件的位置信息,包括类名、方法名和行号。 - `%x`:输出NDC(Nested Diagnostic Context),常用于多线程环境中的上下文信息。 - `%%`:输出一个百分号字符。 - `%F`:输出产生日志事件的源文件名称。 - `%L`:输出产生日志事件的源代码行号。 - `%m`:输出日志消息。 - `%n`:平台依赖的行分隔符。 5. **格式化模式的使用示例** - `%20c`:如果类别名称超过20个字符,将会被截断,右侧用省略号填充。 - `%-20c`:如果类别名称超过20个字符,将会被截断,左侧用空格填充。 通过灵活配置这些选项,开发者可以根据项目需求定制log4j,从而实现对日志的精细管理和高效利用,提高问题排查效率。在实际应用中,通常会结合配置文件(如log4j.properties或log4j.xml)来设定全局的日志策略。
ERROR、WARN、INFO、DEBUG
ERROR 为严重错误 主要是程序的错误
WARN 为一般警告,比如session丢失
INFO 为一般要显示的信息,比如登录登出
DEBUG 为程序的调试信息
2.配置日志信息输出目的地
log4j.appender.appenderName = fully.qualified.name.of.appender.class
1.org.apache.log4j.ConsoleAppender(控制台)
2.org.apache.log4j.FileAppender(文件)
3.org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
4.org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
5.org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
3.配置日志信息的格式
log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
1.org.apache.log4j.HTMLLayout(以HTML表格形式布局),
2.org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
3.org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
4.org.apache.log4j.TTCCLayout(包含线程、类别等等信息)
4.日志信息格式中几个符号所代表的含义:
%p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL,
%d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
%r: 输出自应用启动到输出该log信息耗费的毫秒数
%c: 输出日志信息所属的类目,通常就是所在类的全名
%t: 输出产生该日志事件的线程名
%l: 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main (TestLog4.java:10)
下载后可阅读完整内容,剩余1页未读,立即下载
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展