log4j配置详解
- 格式:pdf
- 大小:161.22 KB
- 文档页数:6
Log4j说明1.log4j.rootCategory=INFO, stdout , R此句为将等级为INFO的日志信息输出到stdout和R这两个目的地,stdout和R的定义在下面的代码,可以任意起名。
等级可分为OFF、 FATAL、ERROR、WARN、INFO、DEBUG、ALL,如果配置OFF则不打出任何信息,如果配置为INFO这样只显示INFO, WARN, ERROR的log 信息,而DEBUG信息不会被显示,具体讲解可参照第三部分定义配置文件中的logger。
2. log4j.appender.stdout=org.apache.log4j.ConsoleAppender此句为定义名为stdout的输出端是哪种类型,可以是org.apache.log4j.ConsoleAppender(控制台),org.apache.log4j.FileAppender(文件),org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)具体讲解可参照第三部分定义配置文件中的Appender。
4 yout=org.apache.log4j.PatternLayout此句为定义名为stdout的输出端的layout是哪种类型,可以是org.apache.log4j.HTMLLayout(以HTML表格形式布局),org.apache.log4j.PatternLayout(可以灵活地指定布局模式),org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)具体讲解可参照第三部分定义配置文件中的Layout。
log4j 标准
Log4j是一个Java日志框架,它提供了一种灵活的方式来记录应用程序的
日志信息。
以下是Log4j的标准:
1. 配置文件:Log4j使用一个配置文件来定义日志记录的行为。
这个配置文件可以是XML、properties或YAML格式。
在配置文件中,可以指定日志级别、输出目的地(例如控制台、文件、数据库等)以及其他相关设置。
2. Logger对象:Log4j使用Logger对象来记录日志。
每个Logger对象
都有一个名称,可以通过继承关系组织成层次结构。
Logger对象可以记录
不同级别的日志信息,包括DEBUG、INFO、WARN、ERROR和FATAL。
3. Appender对象:Appender对象定义了日志信息的输出目的地。
例如,可以将日志信息输出到控制台、文件、数据库或电子邮件等。
每个Logger
对象可以关联多个Appender对象,以便将日志信息发送到不同的目的地。
4. 布局和格式化程序:Log4j使用布局或格式化程序来控制日志信息的输出格式。
布局或格式化程序可以将Logger对象记录的日志信息转换成所需的格式,并将其输出到指定的目的地。
5. 日志级别:Log4j使用不同的日志级别来控制日志信息的输出。
这些级别从低到高分别是DEBUG、INFO、WARN、ERROR和FATAL。
通过设置适当的级别,可以过滤掉不需要的日志信息,以便更好地控制应用程序的性能和输出。
总之,Log4j提供了一种灵活、可配置和可扩展的日志记录机制,适用于各种规模的应用程序开发。
#配置根Logger#log4j.rootLogger = [ level ] , appenderName1 , appenderName2#[level] 是日志输出级别OFF:不打出任何信息、FATAL、ERROR:错误、WARN:警告、INFO、DEBUG、ALLlog4j.rootLogger=ERROR,stdout,file#配置日志信息输出目的地#org.apache.log4j.ConsoleAppender(控制台),org.apache.log4j.FileAppender(文件),org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),org.apache.log4j.RollingFileAppender (文件大小到达指定尺寸的时候产生一个新的文件),org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)log4j.appender.stdout=org.apache.log4j.ConsoleAppen der#配置日志信息的格式#.apache.log4j.HTMLLayout(以HTML表格形式布局),.apache.log4j.PatternLayout(可以灵活地指定布局模式),.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)yout=org.apache.log4j.PatternLayout#PatternLayout类型指定的打印信息的具体格式yout.ConversionPattern=%d%p [%c]-%m%nlog4j.appender.file=org.apache.log4j.RollingFileAppend erlog4j.appender.file.File=./elane.loglog4j.appender.file.MaxFileSize=10MB#MaxBackupIndex 最大备份文件的序号,限制文件个数log4j.appender.file.MaxBackupIndex=1yout=org.apache.log4j.PatternLayo utyout.ConversionPattern=%d%p [%c]-%m%n# General Apache libraries.apache=INFO# Spring.springframework=INFO# Disable verbose logging.jsecurity.util.ThreadContext=INFO.jsecurity.cache.ehcache.EhCache=INFO。
Java开发日志分析工具Log4j使用详解Log4j是一个用于记录应用程序运行时日志的Java开发工具。
它可以帮助开发人员更好地理解和监控应用程序的运行状态,以及解决潜在的问题。
下面将详细介绍Log4j的使用方法和功能。
一、Log4j的配置文件Log4j使用一个名为log4j.properties的配置文件来定义日志的输出格式、日志级别、输出目标等。
这个配置文件需要放在应用程序的classpath下,以便Log4j能够找到它并加载配置。
配置文件中的每一个配置项都有一个特定的名称和对应的值。
例如,可以使用"log4j.rootLogger"配置项来设置根日志记录器的级别,使用"log4j.appender.console"配置项来设置控制台输出的格式等。
二、Log4j的日志级别Log4j提供了多个日志级别,用于控制日志的输出。
这些日志级别按照严重程度递增,包括TRACE、DEBUG、INFO、WARN、ERROR和FATAL。
可以通过配置文件中的"log4j.rootLogger"配置项来设置根日志记录器的级别,从而决定哪些级别的日志会被记录。
三、Log4j的输出目标Log4j可以将日志输出到不同的目标,包括控制台、文件、数据库等。
可以通过配置文件中的"log4j.appender"配置项来设置输出目标。
常用的输出目标有:1. ConsoleAppender:将日志输出到控制台。
2. FileAppender:将日志输出到文件。
3. RollingFileAppender:将日志输出到滚动文件,可以设置文件的大小和数量,以便自动滚动日志文件。
4. JDBCAppender:将日志输出到数据库。
四、Log4j的日志格式Log4j可以自定义日志的输出格式。
可以通过配置文件中的"log4j.appender"配置项来设置输出格式。
log4j.properties配置详解一、Log4j配置第一步:加入log4j-1.2.8.jar到lib下。
第二步:在CLASSPATH下建立log4j.properties。
内容如下:Java代码log4j.rootCategory=INFO, stdout , Rlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderyout=org.apache.log4j.PatternLayoutyout.ConversionPattern=[QC] %p [%t] %C.%M(%L) | %m%nlog4j.appender.R=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.R.File=D:\\Tomcat 5.5\\logs\\qc.logyout=org.apache.log4j.PatternLayoutyout.ConversionPattern=%d-[TS] %p %t %c - %m%n.neusoft=DEBUG.opensymphony.oscache=ERROR.sf.navigator=ERRORmons=ERROR.apache.struts=W ARN.displaytag=ERROR.springframework=DEBUG.ibatis.db=WARN.apache.velocity=FATAL.canoo.webtest=WARN.hibernate.ps.PreparedStatementCache=W ARN.hibernate=DEBUG.logicalcobwebs=W ARNlog4j.rootCategory=INFO, stdout , Rlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderyout=org.apache.log4j.PatternLayoutyout.ConversionPattern=[QC] %p [%t] %C.%M(%L) | %m%nlog4j.appender.R=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.R.File=D:\\Tomcat 5.5\\logs\\qc.logyout=org.apache.log4j.PatternLayoutyout.ConversionPattern=%d-[TS] %p %t %c - %m%n.neusoft=DEBUG.opensymphony.oscache=ERROR.sf.navigator=ERRORmons=ERROR.apache.struts=W ARN.displaytag=ERROR.springframework=DEBUG.ibatis.db=WARN.apache.velocity=FATAL.canoo.webtest=WARN.hibernate.ps.PreparedStatementCache=W ARN.hibernate=DEBUG.logicalcobwebs=W ARNlog4j.rootCategory=INFO, stdout , Rlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderyout=org.apache.log4j.PatternLayoutyout.ConversionPattern=[QC] %p [%t] %C.%M(%L) | %m%nlog4j.appender.R=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.R.File=D:\\Tomcat 5.5\\logs\\qc.logyout=org.apache.log4j.PatternLayoutyout.ConversionPattern=%d-[TS] %p %t %c - %m%n.neusoft=DEBUG.opensymphony.oscache=ERROR.sf.navigator=ERRORmons=ERROR.apache.struts=W ARN.displaytag=ERROR.springframework=DEBUG.ibatis.db=WARN.apache.velocity=FATAL.canoo.webtest=WARN.hibernate.ps.PreparedStatementCache=W ARN.hibernate=DEBUG.logicalcobwebs=W ARNlog4j.rootCategory=INFO, stdout , Rlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderyout=org.apache.log4j.PatternLayoutyout.ConversionPattern=[QC] %p [%t] %C.%M(%L) | %m%nlog4j.appender.R=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.R.File=D:\\Tomcat 5.5\\logs\\qc.logyout=org.apache.log4j.PatternLayoutyout.ConversionPattern=%d-[TS] %p %t %c - %m%n.neusoft=DEBUG.opensymphony.oscache=ERROR.sf.navigator=ERRORmons=ERROR.apache.struts=W ARN.displaytag=ERROR.springframework=DEBUG.ibatis.db=WARN.apache.velocity=FATAL.canoo.webtest=WARN.hibernate.ps.PreparedStatementCache=W ARN.hibernate=DEBUG.logicalcobwebs=W ARN第三步:相应的修改其中属性,修改之前就必须知道这些都是干什么的,在第二部分讲解。
log4j.properties错误及配置详解当在Eclipse上运⾏MapReduce程序遇到以上问题时,请检查项⽬中是否有log4j.properties配置⽂件,或者配置⽂件是否正确。
刚接触Hadoop的时候不太了解log4j.properties配置的含义和作⽤是什么,后来意识到了其重要性,但⽹上的内容⼤多太杂太单⼀,因此想整理⼀份出来供⼤家参考。
#################################################################################①配置根Logger:#log4j.rootLogger = [level],appenderName,appenderName2,...#level是⽇志记录的优先级,分OFF,TRACE,DEBUG(DeBug信息),INFO(普通信息),WARN(警告),ERROR(错误),FATAL(罕见严重的错误),ALL#Log4j建议只使⽤四个级别,优先级从低到⾼分别是DEBUG,INFO,WARN,ERROR#通过在这⾥定义的级别,您可以控制到应⽤程序中相应级别的⽇志信息的开关#⽐如在这⾥定义了INFO级别,则应⽤程序中所有DEBUG级别的⽇志信息将不被打印出来#appenderName就是指定⽇志信息输出到哪个地⽅。
可同时指定多个输出⽬的#如果配置OFF则不打出任何信息,如果配置为INFO这样只显⽰INFO、WARN、ERROR的log信息,#⽽DEBUG信息不会被显⽰,DEBUG级别上仅次于ALL象征⽇志全部输出.#OFF和ALL没有实际意义象征全关开;#################################################################################②配置⽇志信息输出⽬的地Appender#Log4j提供的appender有以下⼏种:#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(将⽇志信息以流格式发送到任意指定的地⽅)#1)ConsoleAppender选项属性# -Threshold = DEBUG:指定⽇志消息的输出最低层次# -ImmediateFlush = TRUE:默认值是true,所有的消息都会被⽴即输出# -Target = System.err:默认值System.out,输出到控制台(err为红⾊,out为⿊⾊)##2)FileAppender选项属性# -Threshold = INFO:指定⽇志消息的输出最低层次# -ImmediateFlush = TRUE:默认值是true,所有的消息都会被⽴即输出# -File = C:\log4j.log:指定消息输出到C:\log4j.log⽂件# -Append = FALSE:默认值true,将消息追加到指定⽂件中,false指将消息覆盖指定的⽂件内容# -Encoding = UTF-8:可以指定⽂件编码格式##3)DailyRollingFileAppender选项属性# -Threshold = WARN:指定⽇志消息的输出最低层次# -ImmediateFlush = TRUE:默认值是true,所有的消息都会被⽴即输出# -File = C:\log4j.log:指定消息输出到C:\log4j.log⽂件# -Append = FALSE:默认值true,将消息追加到指定⽂件中,false指将消息覆盖指定的⽂件内容# -DatePattern='.'yyyy-ww:每周滚动⼀次⽂件,即每周产⽣⼀个新的⽂件。
Log4j的使用和配置2011-05-15 18:05:56标签:使用log4j 配置1、Log4j是什么?Log4j可以帮助调试(有时候debug是发挥不了作用的)和分析,要下载和了解更详细的内容,还是访问其官方网站吧:/log4j 。
2、Log4j的概念Log4j中有三个主要的组件,它们分别是Logger、Appender和Layout,Log4j 允许开发人员定义多个Logger,每个Logger拥有自己的名字,Logger之间通过名字来表明隶属关系。
有一个Logger称为Root,它永远存在,且不能通过名字检索或引用,可以通过Logger.getRootLogger()方法获得,其它Logger通过Logger.getLogger(String name)方法。
Appender则是用来指明将所有的log信息存放到什么地方,Log4j中支持多种appender,如console、files、GUI components、NT Event Loggers等,一个Logger可以拥有多个Appender,也就是你既可以将Log信息输出到屏幕,同时存储到一个文件中。
Layout的作用是控制Log信息的输出方式,也就是格式化输出的信息。
Log4j中将要输出的Log信息定义了5种级别,依次为DEBUG、INFO、WARN、ERROR和FATAL,当输出时,只有级别高过配置中规定的级别的信息才能真正的输出,这样就很方便的来配置不同情况下要输出的内容,而不需要更改代码,这点实在是方便啊。
3、Log4j的配置文件虽然可以不用配置文件,而在程序中实现配置,但这种方法在如今的系统开发中显然是不可取的,能采用配置文件的地方一定一定要用配置文件。
Log4j支持两种格式的配置文件:XML格式和Java的property格式,本人更喜欢后者,首先看一个简单的例子吧,如下:log4j.rootLogger=debug, stdout, Rlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderyout=org.apache.log4j.PatternLayout# Pattern to output the caller's file name and line number.yout.ConversionPattern=%5p [%t] (%F:%L) - %m%nlog4j.appender.R=org.apache.log4j.RollingFileAppenderlog4j.appender.R.File=example.loglog4j.appender.R.MaxFileSize= 100KB# Keep one backup filelog4j.appender.R.MaxBackupIndex=1yout=org.apache.log4j.PatternLayoutyout.ConversionPattern=%p %t %c - %m%n首先,是设置root,格式为log4j.rootLogger=[level],appenderName, ...,其中level就是设置需要输出信息的级别,后面是appender的输出的目的地,appenderName就是指定日志信息输出到哪个地方。
log4j.properties 详解与配置步骤一、入门实例1.新建一个JAva工程,导入包log4j-1.2.17.jar,整个工程最终目录如下2、src同级创建并设置log4j.properties3、设置日志内容1.package com.mucfc;2.import org.apache.log4j.Logger;3./**4. *@author linbingwen5. *@2015年5月18日9:14:216. */7.public class Test {8.private static Logger logger = Logger.getLogger(Test.class); 9.10./**11. * @param args12. */13.public static void main(String[] args) {14.// System.out.println("This is println message.");15.16.// 记录debug级别的信息17. logger.debug("This is debug message.");18.// 记录info级别的信息19. ("This is info message.");20.// 记录error级别的信息21. logger.error("This is error message.");22. }23.24.}4、输出结果(1)首先是控制台的信息(2)再来看输出的文件内容如下,发现已按照要求输出到对应的文档中去了。
二、Log4j基本使用方法Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。
日志信息的优先级从高到低有ERROR、WARN、INFO、DEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。
log4j配置详解>>>> 1. 概述<<<<1.1. 背景在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工作;跟踪代码运行时轨迹,作为日后审计的依据;担当集成开发环境中的调试器的作用,向文件或控制台打印代码的调试信息。
最普通的做法就是在代码中嵌入许多的打印语句,这些打印语句可以输出到控制台或文件中,比较好的做法就是构造一个日志操作类来封装此类操作,而不是让一系列的打印语句充斥了代码的主体。
1.2. Log4j简介在强调可重用组件开发的今天,除了自己从头到尾开发一个可重用的日志操作类外,Apache为我们提供了一个强有力的日志操作包-Log4j。
Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog 守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。
最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。
此外,通过Log4j其他语言接口,您可以在C、C+ +、.Net、PL/SQL程序中使用Log4j,其语法和用法与在Java程序中一样,使得多语言分布式系统得到一个统一一致的日志组件模块。
而且,通过使用各种第三方扩展,您可以很方便地将Log4j集成到J2EE、JINI甚至是SNMP应用中。
本文介绍的Log4j版本是1.2.3。
作者试图通过一个简单的客户/服务器Java程序例子对比使用与不使用Log4j 1.2.3的差别,并详细讲解了在实践中最常使用Log4j的方法和步骤。
在强调可重用组件开发的今天,相信Log4j将会给广大的设计开发人员带来方便。
加入到Log4j的队伍来吧!>>>> 2. 一个简单的例子<<<<我们先来看一个简单的例子,它是一个用Java实现的客户/服务器网络程序。
log4j配置详解(非常详细)2012-07-17Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。
通过配置,可以创建出Log4J的运行环境。
1. 配置文件Log4J配置文件的基本格式如下:其中[level] 是日志输出级别,共有5级:Appender 为日志输出目的地,Log4j提供的appender有以下几种:Layout:日志输出格式,Log4j提供的layout有以下几种:打印参数: Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,如下:2. 在代码中初始化Logger:1)在程序中调用BasicConfigurator.configure()方法:给根记录器增加一个ConsoleAppender,输出格式通过PatternLayout设为"%-4r [%t] %-5p %c %x - %m%n",还有根记录器的默认级别是Level.DEBUG.2)配置放在文件里,通过命令行参数传递文件名字,通过PropertyConfigurator.configure(args[x])解析并配置;3)配置放在文件里,通过环境变量传递文件名等信息,利用log4j默认的初始化过程解析并配置;4)配置放在文件里,通过应用服务器配置传递文件名等信息,利用一个特殊的servlet来完成配置。
3. 为不同的 Appender 设置日志输出级别:当调试系统时,我们往往注意的只是异常级别的日志输出,但是通常所有级别的输出都是放在一个文件里的,如果日志输出的级别是BUG!?那就慢慢去找吧。
这时我们也许会想要是能把异常信息单独输出到一个文件里该多好啊。
当然可以,Log4j已经提供了这样的功能,我们只需要在配置中修改Appender的Threshold就能实现,比如下面的例子:[配置文件][代码中使用]运行一下,看看异常信息是不是保存在了一个单独的文件error.log中。