log4j教程 4、配置
上一章介绍log4j的核心组件。本章介绍如何使用配置文件来配置这些核心组件。配置log4j涉及分配级别,定义追加程序,并在配置文件中指定布局的对象。
log4j.properties文件是一个键 - 值对保存 log4j 配置属性文件。默认情况下,日志管理在CLASSPATH 查找一个名为 log4j.properties 的文件。
根日志记录器的级别定义为DEBUG并连接附加器命名为X到它
设置名为X的附加目的地是一个有效的appender
设置布局的附加器X
log4j.properties 语法:
以下是 log4j.properties 文件的一个appender X的语法:
# Define the root logger with appender X
log4j.rootLogger = DEBUG, X # Set the appender named X to be a File appender
log4j.appender.X=org.apache.log4j.FileAppender # Define the layout for X appender
log4j.appender.X.layout=org.apache.log4j.PatternLayout
log4j.appender.X.layout.conversionPattern=%m%n
log4j.properties 示例:
使用上面的语法,我们定义 log4j.properties 文件如下:
根日志记录器(logger)的级别定义为DEBUG并连接附加器命名为FILE
附加器(appender)File是定义为org.apache.log4j.FileAppender并写入到一个名为“log.out”位于日志log目录下
定义的布局模式是%m%n,这意味着每打印日志消息之后,将加上一个换行符
# Define the root logger with appender file
log4j.rootLogger = DEBUG, FILE # Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=${log}/log.out # Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n
需要注意的是log4j支持UNIX风格的变量替换,如 ${variableName}.
调试级别:
使用DEBUG两个追加程序。所有可能的选项有:
TRACE
DEBUG
INFO
WARN
ERROR
FATAL
ALL
这些级别将在 Log4j调试级别 这一文章中解释
Appenders:
Apache的log4j提供Appender对象主要负责打印日志消息到不同的目的地,如控制台,文件,sockets,NT事件日志等等。
每个Appender对象具有与之相关联的不同的属性,并且这些属性表明对象的行为
属性 | 描述 |
---|---|
layout | Appender使用布局Layout 对象和与之相关的格式化的日志记录信息转换模式 |
target | 目标可以是一个控制台,一个文件,或根据附加器的另一个项目 |
level | 级别是必需的,以控制日志消息的过滤 |
threshold | Appender可以有与之独立的记录器级别相关联的级别阈值水平。Appender忽略具有级别低于阈级别的任何日志消息 |
filter | Filter 对象可以分析超出级别的匹配记录信息,并决定是否记录的请求应该由一个特定 Appender 或忽略处理 |
可以通过包括以下方法的配置文件中的下面设置一个 Appender 对象添加到记录器:
log4j.logger.[logger-name]=level, appender1,appender..n
可以编写以XML格式相同的结构如下:
<logger name="com.apress.logging.log4j" additivity="false">
<appender-ref ref="appender1"/>
<appender-ref ref="appender2"/>
</logger>
如果想要添加Appender对象到程序,那么可以使用下面的方法:
public void addAppender(Appender appender);
addAppender()方法添加一个appender到Logger对象。作为示例配置演示,可以添加很多Appender对象到记录器在逗号分隔的列表,每个打印日志信息分离目的地。
我们仅使用一个附加目的地FileAppender在我们上面的例子。所有可能的附加目的地选项有:
AppenderSkeleton
AsyncAppender
ConsoleAppender
DailyRollingFileAppender
ExternallyRolledFileAppender
FileAppender
JDBCAppender
JMSAppender
LF5Appender
NTEventLogAppender
NullAppender
RollingFileAppender
SMTPAppender
SocketAppender
SocketHubAppender
SyslogAppender
TelnetAppender
WriterAppender
我们将涵盖 FileAppender文件 和 JDBCAppender 记录将被包括记录在数据库
Layout:
我们使用的PatternLayout 使用 appender。所有可能的选项有:
- DateLayout
- HTMLLayout
- PatternLayout
- SimpleLayout
- XMLLayout
使用HTMLLayout和XMLLayout,可以在HTML和XML格式和生成日志。
布局格式:
如何在章节格式的日志信息:Log格式
log4j教程 4、配置的更多相关文章
- (转)log4j(七)——log4j.xml简单配置样例说明
背景:在公司中警察需要做技术支持,查看日志,而查看日志首先要自己清楚日志是如何生成的,所以有必要知道日志的前世今生! 转载出处:http://www.cnblogs.com/godtrue/p/644 ...
- log4j(七)——log4j.xml简单配置样例说明
一:测试环境与log4j(一)--为什么要使用log4j?一样,这里不再重述 二:老规矩,先来个栗子,然后再聊聊感受 (1)这里栗子有一点特别呀!给出了包名唉!想必有用,是的,配置文件中要特别说明一下 ...
- Log4j教程
Log4j教程 一.快速上手 log4j把日志分为:all,trace,debug,info,warnig,error,fital,off等几个级别.级别高的会屏蔽级别的的信息. 1)maven导入j ...
- phpmyadmin安装教程及配置设置
phpmyadmin安装教程及配置设置 | 浏览:20304 | 更新:2013-11-07 09:50 1.一般网上下载到的phpmyadmin是一个压缩包,我们将其释放到htdocs目录中,例如h ...
- Nessus漏洞扫描教程之配置Nessus
Nessus漏洞扫描教程之配置Nessus 配置Nessus 当安装成功Nessus工具后.就可以使用该工具实施漏洞扫描.为了使用户更好的使用该工具,将介绍一下该工具的相关设置.如服务的启动.软件更新 ...
- ArduinoYun教程之配置Arduino Yun环境
ArduinoYun教程之配置Arduino Yun环境 配置Arduino Yun 不管你使用前面介绍的哪种方式连接Arduino Yun.如今都能够配置你的Arduino Yun了.首先须要的是使 ...
- log4j的Appenders配置
因为是刚开始使用log4j,很多配置方面的东西都不懂,记录下. 下面是我用STS(Spring Tool Suite)新建Spring MVC项目的时候,帮我自动生成的一个log4j.xml配置文件. ...
- (转)log4j(六)——log4j.properties简单配置样例说明
一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 1 老规矩,先来个栗子,然后再聊聊感受 (1)使用配文件的方式,是不是感觉非常的清爽,如果不在程序中读取配置文件就更加的清 ...
- log4j使用和配置详解
日志是应用软件中不可缺少的部分,Apache的开源项目Log4j是一个功能强大的日志组件,提供方便的日志记录.以下是个人经验,具体请参考Log4j文档指南. Log4j下载 在apache网站:htt ...
- Log4j – Configuring Log4j 2 - Log4j 2的配置
Configuration Inserting log requests into the application code requires a fair amount of planning an ...
随机推荐
- DateBase -- Rising Temperature
Question: Given a Weather table, write a SQL query to find all dates' Ids with higher temperature co ...
- [NC189A]数字权重
题目大意:有一个$n$位的数,设第$i$位为$a_i$(最高位为$a_1$).问满足$(\sum\limits_{i=2}^n(a_i-a_{i-1}))==k$的数的个数(不含前导零) 题解:发现$ ...
- Linux系统——提高编译速度的方法
编译优化: 基本原则就是“以空间换时间” tmpfs: 解决IO瓶颈,充分利用本机内存资源 make -j: 充分利用本机计算资源 distcc: 利用多台计算机资源 ccache: 减少重复编译相同 ...
- OpenNI2安装
1.Openni2:从官网下载linux用zip压缩包,解压再解压2.终端转到解压目录下,找到install.sh文件,执行$sudo ./install.sh 3.执行后,生成OpenNIDevEn ...
- Oracle 查询性能优化(转)
原则一:注意WHERE子句中的连接顺序: ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHER ...
- 前端模块加载规范AMD与CMD小记
AMD代表:requirejs: CMD代表:seajs: AMD CMD 代表 requirejs seajs 执行 提前加载,不管是否调用模块,先解析所以模块 提前加载,在真正需要使 ...
- 51nod1086 背包问题 V2——二进制优化
有N种物品,每种物品的数量为C1,C2......Cn.从中任选若干件放在容量为W的背包里,每种物品的体积为W1,W2......Wn(Wi为整数),与之相对应的价值为P1,P2......Pn(Pi ...
- YYH算组合数(NOIP模拟赛Round 6)
题目描述 YYH手上有一个长度为N的数列,而且这个数列正好能表示为.现在他想知道这个数列的最大公约数是多少,请你帮帮他 输入输出格式 输入格式: 每个数据点包括多组数据,以EOF结束 对于每个数据输入 ...
- (九)ubuntu解决resolv.conf被重写问题
解决resolv.conf被重写问题 来源:http://www.cnblogs.com/lanxuezaipiao/p/3613497.html 第二步中你虽然配置了DNS,但是每次重启虚拟机或重启 ...
- 前端知识学习——html
<!-- Html,CSS,JS 三者的关系 ==> 人,衣服,动作. 以下展示 html 常用基本编码 --><!-- Html 在PyCharm中新建html文件默认给出的 ...