Log4j的组成:
Log4j由三个重要的组成构成:日志记录器(Loggers),输出端(Appenders)和日志格式化器(Layout)。
1.日志记录器(Loggers):控制要输出哪些日志记录语句,对日志信息进行级别限制。
2.输出端(Appenders):指定了日志将打印到控制台还是文件中。
3.日志格式化器(Layout):控制日志信息的显示格式。
类图结构如下,主要分为三部分:
配置文件解析
1.配置根Logger
其语法为:log4j.rootLogger = [ level ] , [appenderName], [appenderName], …
Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定 义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。 appenderName就是指日志信息输出到哪个地方。您可以同时指定多个输出目的地。
2.配置Appender(日志信息输出目的地)
其语法为:log4j.appender.[appenderName] = [appenderType]
其中,Log4j提供的appender有以下几种:
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
3.配置日志信息的格式(布局)
其语法为:log4j.appender.[appenderName].layout = [layoutType]
(1)Log4j提供的layout有以下几种:
org.apache.log4j.HTMLLayout(以HTML表格形式布局),
org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
(2)Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,打印参数如下: %m 输出代码中指定的消息
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%r 输出自应用启动到输出该log信息耗费的毫秒数
%c 输出所属的类目,通常就是所在类的全名
%t 输出产生该日志事件的线程名
%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)
参考文章:
1.Log4J使用笔记 http://www.cnblogs.com/eflylab/archive/2007/01/11/618001.html
2.Log4j详解与实战 http://www.iteye.com/topic/378077
分享到:
相关推荐
Log4j2 配置模板学习笔记 Log4j2 是 Java 语言中一种流行的日志记录工具,它提供了灵活的日志记录管理功能。下面我们将学习 Log4j2 配置模板的使用和配置。 引入 Log4j2 依赖 在使用 Log4j2 之前,需要在 Maven ...
在给定的示例配置文件`log4j.properties`中,我们可以看到几个关键配置项: - **rootCategory**:这是日志记录的根类别,用于定义整个应用的日志级别和输出目的地。在这个例子中,`log4j.rootCategory=debug,stdout...
4. **Web应用配置**:在Web应用中,确保`commons-logging.properties`位于`WEB-INF/classes/`目录下,`log4j.properties`则可以放在`WEB-INF/`目录下,并在`web.xml`中配置Log4j初始化参数,以便Tomcat能找到并加载...
- `log4j.appender.R.MaxBackupIndex=1`:表示备份文件的最大索引值为1,即只保留一个备份文件。 - `log4j.appender.R.layout=org.apache.log4j.PatternLayout` - `log4j.appender.R.layout.ConversionPattern=%d...
### Struts2学习笔记知识点详解 #### 一、Struts2框架的基本引入步骤 ##### 1. 导入Struts2相关Jar包 在引入Struts2框架时,首先需要将Struts2的相关Jar包导入到项目的类路径中。这些Jar包通常包括核心库以及其他...
### ORACLE经典学习笔记知识点概览 #### 第一章 ORACLE 命令 本章节主要介绍了Oracle数据库中常用的命令及其使用方法。 1. **查看参数文件**: `Desc v$parameter` - 这个命令用于查看Oracle的参数文件信息,通过...
慢查询日志的配置项包括指定日志文件的位置和设定执行缓慢的查询的阈值: ``` [mysqld] slow_query_log=on slow_query_log_file=/application/mysql/data/db01-slow.log long_query_time=2 ``` 4. 二进制日志...
### Linux学习笔记:目录结构与基本命令解析 #### Linux 目录结构概览 Linux操作系统以其高度可定制性和稳定性在服务器领域占据主导地位。对于初学者来说,理解Linux的目录结构至关重要,它不仅有助于掌握系统资源...
"nginx学习笔记及相关资料"这个压缩包中可能包含了关于Nginx的配置示例、教程文档、实战案例等,帮助学习者深入理解Nginx的工作原理,掌握配置和管理技巧,提升解决实际问题的能力。 总之,Nginx是一个强大且灵活的...
### Oracle学习笔记知识点详解 #### 一、Oracle的卸载步骤及注意事项 ##### 软件环境 - **操作系统:** Windows XP - **Oracle版本:** 8.1.7 - **安装路径:** C:\ORACLE ##### 卸载方法 1. **停止Oracle服务:** -...
### MySQL OCP超详细学习笔记知识点梳理 #### 1. MySQL数据导出工具mysqldump的使用 在MySQL数据备份与迁移中,`mysqldump`是一个常用的工具。其`--master-data`参数可以指定备份时包含二进制日志的位置,对从库...
在Oracle安装目录`\oracle\product\10.1.0\db_1\oc4j\j2ee`下找到`OC4J_DBConsole_localhost_orcl`文件夹,并根据实际情况修改其中的`localhost`为实际的服务地址。在Windows系统中,卸载Oracle数据库需要执行以下...
每个块都有不同的作用和配置项,例如: - **全局块**:设置Nginx服务器的基本参数,如工作进程数等。 - **events块**:配置与客户端的连接处理方式。 - **http块**:包含多个server块,定义HTTP服务器的基本设置。 ...
### Ibatis学习笔记 #### 一、Ibatis优点 **A. 优点** 1. **SQL语句独立性**:Ibatis将SQL语句从Java源程序中抽离出来,放置于单独的XML文件中编写,这使得在后期对程序进行维护时变得更加便捷。 2. **简化开发...
### Hibernate学习笔记知识点详解 #### 一、在Eclipse中配置Hibernate环境 ##### 1. 配置Classpath Variables 为了在Eclipse中正确配置Hibernate,首先需要设置Classpath Variables来指向Hibernate安装路径下的...
### Linux系统学习笔记知识点概览 #### 更改Telnet登录慢的问题 Telnet登录速度慢通常是因为域名解析和反向解析的过程导致的延迟。解决这一问题的方法是在`/etc/resolv.conf`文件中禁用不必要的域名解析。此文件是...
**options**: 配置项,包含显示效果、等待框设置等。 4. **extras**: 用于传递数据的对象。 - **示例代码**: ```javascript mui.openWindow({ url: "sub1_chat.html", id: "sub1_chat.html", show: { ...
### SGA学习笔记 #### 一、System Global Area (SGA) 概述 系统全局区域(System Global Area, SGA)是Oracle数据库的核心组件之一,它由一系列共享内存结构组成,用于存储数据库运行过程中需要频繁访问的信息。SGA...