文档章节

log4j.properties参数详解

天呀鲁哇
 天呀鲁哇
发布于 2015/02/11 10:39
字数 1706
阅读 104
收藏 8
点赞 0
评论 0
log的级别分为debug(调试信息)、info(一般信息)、warn(警告信息)、error(错误信息)、fatal(致命错误信息)。
Log4j支持两种配置文件格式,一种是XML格式的文件,一种是java属性文件log4j.properties,下面以log4j.properties为例进行说明。

1、配置根Logger
Logger 负责处理日志记录的大部分操作,其语法为:
   log4j.rootLogger = [ level ] , appenderName1, appenderName2, …
         level : 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。
       appenderName:就是指定日志信息输出目的地的名称。
    如:log4j.rootLogger=info,A1,B2,C3

    在早期log4j版本中,org.apache.Category实现了记录器的功能,后使用logger扩展了Category类,因此log4j.rootCategory也可以使用。
    如:log4j.rootCategory=INFO,A1,A2

2、配置日志信息输出目的地 Appender
Appender 负责控制日志记录操作的输出,其语法为:
   log4j.appender.appenderName = fully.qualified.name.of.appender.class 
    其中"fully.qualified.name.of.appender.class" 有以下几种:
          i.org.apache.log4j.ConsoleAppender(控制台)
                该选项有以下几种:
                    Threshold=WARN:指定日志消息的输出最低层次。
                    ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。
                    Target=System.err:默认情况下是:System.out,指定输出控制台
          ii.org.apache.log4j.FileAppender(文件)
                该选项有以下几种:
                    Threshold=WARN:指定日志消息的输出最低层次。
                    ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。
                    File=mylog.txt:指定消息输出到mylog.txt文件。
                    Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。
          iii.org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
                该选项有以下几种:
                    Threshold=WARN:指定日志消息的输出最低层次。
                    ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。
                    File=a.log:指定消息输出到a.log文件,默认是从web服务器的根路径开始。
                    Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。
                    DatePattern='.'yyyy-ww:每周滚动一次文件,即每周产生一个新的文件。当然也可以指定按月、周、天、时和分。即对应的格式如下:
                        '.'yyyy-MM: 每月
                        '.'yyyy-ww: 每周 
                        '.'yyyy-MM-dd: 每天
                        '.'yyyy-MM-dd-a: 每天两次
                        '.'yyyy-MM-dd-HH: 每小时
                        '.'yyyy-MM-dd-HH-mm: 每分钟
          iv.org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件,可通过log4j.appender.appenderName.MaxFileSize=100KB设置文件大小)
                该选项有以下几种:                    
                    Threshold=WARN:指定日志消息的输出最低层次。
                    ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。
                    File=a.log:指定消息输出到a.log文件,默认是从web服务器的根路径开始。
                    Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。
                    MaxFileSize=100KB: 后缀可以是KB, MB 或者是 GB. 在日志文件到达该大小时,将会自动滚动,即将原来的内容移到mylog.log.1文件。
                    MaxBackupIndex=2:指定可以产生的滚动文件的最大数。
          v.org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
                    
	例如:
            log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
            log4j.appender.R.File=D:\\eclipsespace\\testSSH\\WebContent\\WEB-INF\\testlog.log

3、配置日志信息的格式(布局)Layout
Layout 负责格式化Appender的输出,其语法为:
  log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
        其中"fully.qualified.name.of.layout.class" 有以下几种:
           i.org.apache.log4j.HTMLLayout(以HTML表格形式布局)
                 该选项有以下几种:
                      LocationInfo=true:默认值是false,输出java文件名称和行号
                      Title=my app file: 默认值是 Log4J Log Messages.
         ii.org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
                 该选项有以下几种:
                      ConversionPattern=%m%n :指定怎样格式化指定的消息
                      其中%m%n等符号所代表的含义如下:
                      -X号: X信息输出时左对齐;
                        %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)
                        %x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。
                        %%: 输出一个"%"字符
                        %F: 输出日志消息产生时所在的文件名称
                        %L: 输出代码中的行号
                        %m: 输出代码中指定的消息,产生的日志具体信息
                        %n: 输出一个回车换行符,Windows平台为"\r\n",Unix平台为"\n"输出日志信息换行
                        可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。如:
                        %20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,默认的情况下右对齐。
                        %-20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,"-"号指定左对齐。
                        %.30c:指定输出category的名称,最大的宽度是30,如果category的名称大于30的话,就会将左边多出的字符截掉,但小于30的话也不会有空格。
                        %20.30c:如果category的名称小于20就补空格,并且右对齐,如果其名称长于30字符,就从左边交远销出的字符截掉。
                        如:%-4r %-5p %d{yyyy-MM-dd HH:mm:ssS} %c %m%n
                            [TEST] %p [%t] %C.%M(%L) | %m%n
         iii.org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
         iv.org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
   
4.其他
log4j.logger.com. neusoft =DEBUG
指定com.neusoft包下的所有类的等级为DEBUG。

log4j.logger.com.opensymphony.oscache=ERROR
log4j.logger.net.sf.navigator=ERROR
这两句是把这两个包下出现的错误的等级设为ERROR,如果项目中没有配置EHCache,则不需要这两句。

log4j.logger.org.apache.commons=ERROR
log4j.logger.org.apache.struts=WARN
这两句是struts的包。

log4j.logger.org.displaytag=ERROR
这句是displaytag的包。(QC问题列表页面所用)

log4j.logger.org.springframework=DEBUG
此句为Spring的包。

log4j.logger.org.hibernate.ps.PreparedStatementCache=WARN
log4j.logger.org.hibernate=DEBUG
此两句是hibernate的包。

自己按照上面写的案例:

# start log #
log4j.rootLogger=INFO,D,F

#D appender is consoleAppender#
log4j.appender.D=org.apache.log4j.ConsoleAppender
Threshold=INFO
ImmediateFlush=true
Target=System.out
log4j.appender.D.layout=org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm} %p | %c{1} || %m%n

#F appender is DailyRollingFileAppender #
log4j.appender.F=org.apache.log4j.DailyRollingFileAppender
log4j.appender.F.Threshold=INFO
log4j.appender.F.ImmediateFlush=true
log4j.appender.F.File=//Users//zhougang//downloads//yhysys.log
log4j.appender.F.layout=org.apache.log4j.PatternLayout
log4j.appender.F.layout.ConversionPattern =%d{yyyy-MM-dd HH:mm:ssS} %p | %c{1} || %m%n

# struts property#
log4j.logger.org.apache.commons=ERROR
log4j.logger.org.apache.struts=WARN

#	hibernate property	#
log4j.logger.org.hibernate.ps.PreparedStatementCache=WARN
log4j.logger.org.hibernate=DEBUG

#	Spring property	#
log4j.logger.org.springframework=DEBUG

    拓展:

            我们可以再不同的功能项做自己的自定义log文件

本文转载自:http://blog.csdn.net/liliiii/article/details/43227949

共有 人打赏支持
天呀鲁哇
粉丝 8
博文 82
码字总数 42007
作品 0
长宁
程序员
Log4j配置及详解

一、下载log4j.jar http://archive.apache.org/dist/logging/log4j/ 二、将jar包导入到java项目中 三、在src文件下创建Log4j.properties配置文件 Log4j.properties配置内容如下: log4j.root...

snail- ⋅ 2015/07/23 ⋅ 0

Hadoop日志存放路径详解

  Hadoop的日志有很多种,很多初学者往往遇到错而不知道怎么办,其实这时候就应该去看看日志里面的输出,这样往往可以定位到错误。Hadoop的日志大致可以分为两类:(1)、Hadoop系统服务输...

aibati2008 ⋅ 2016/07/17 ⋅ 0

log4j 使用及配置分析记录

log4j是一个非常强大的log记录软件,下面我们就来看看在项目中如何使log4j。 ps:其配置文件有两种 log4j.properties 和log4j.xml 两种形式。xml更强大,功能更丰富 ,properties更简单易懂。...

北方攻城师 ⋅ 2015/04/12 ⋅ 0

log4j.properties配置详解

Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。 1. 配置文件 Log4...

sfilyh ⋅ 2012/03/30 ⋅ 0

slf4j 和 log4j合用的(Maven)配置

简述: 添加logger的日志输出,下面是配置信息供备忘 步骤: 1. 在Maven的porn.xml 文件中添加dependency如下 <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artif......

我就是我110 ⋅ 2015/08/13 ⋅ 0

SSM配置文件详解

这几天一直在整合SSM框架,虽然网上有很多已经整合好的,但是对于里面的配置文件并没有进行过多的说明,很多人知其然不知其所以然,经过几天的搜索和整理,今天总算对其中的XML配置文件有了一定的...

FantJ ⋅ 2017/12/03 ⋅ 0

项目中配置的log4j.properties文件不起作用

首先确定 log4j.properties文件在classpath下,没有语法错误,相应log级别正确 再查看是否被覆盖可以通过工具来查看第三方包中是否包含log4j.properties文件或者xml配置文件。 如果存在就很有...

miscellanea ⋅ 2016/06/15 ⋅ 0

002.Spark三种属性配置方式详细说明

参考地址: Spark三种属性配置方式详细说明   随着Spark项目的逐渐成熟, 越来越多的可配置参数被添加到Spark中来。在Spark中提供了三个地方用于配置:   1、Spark properties:这个可以控...

片刻 ⋅ 2016/03/09 ⋅ 0

Log4j的配置和使用

1.Log4j简介 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、邮箱等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的...

蛙牛 ⋅ 2014/04/13 ⋅ 1

Log4j配置文件详解

Log4J的配置文件(Configuration File)就是。通过配置,可以创建出Log4J的运行环境。 2种日志接口框架,4种日志实现框架 jdk-logging、log4j、logback日志介绍及原理 jcl与jul、log4j1、log4j...

陶邦仁 ⋅ 2015/10/10 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Qt中的坑--QTreeWidget添加item 不能显示出来

QTreeWidget* pTree = ui.TreeCheckList; QTreeWidgetItem* item = new QTreeWidgetItem(pTree) ;item->setText ( 0, "test" );pTree->addTopLevelItem (item ); 原因是因为创建一个......

k91191 ⋅ 24分钟前 ⋅ 0

使用Guava的RateLimiter做限流

场景: 1. 在日常生活中,我们肯定收到过不少不少这样的短信,“京东最新优惠卷…”,“天猫送您…”。这种类型的短信是属于推广性质的短信。这种短信一般群发量会到千万级别。然而,要完成这...

wind2012 ⋅ 25分钟前 ⋅ 0

QSlider重新enterEvent

#ifndef DIALOG_H#define DIALOG_H#include <QDialog>namespace Ui {class Dialog;}class Dialog : public QDialog{ Q_OBJECTpublic: explicit Dialog(QW......

xxdd ⋅ 25分钟前 ⋅ 0

生产环境redis备份与恢复

生产环境redis备份与恢复 Tyrant0532 0人评论 1563人阅读 2018-02-01 20:34:10 redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。生产中我们主...

rootliu ⋅ 27分钟前 ⋅ 0

nginx中出现403forbidden错误

nginx “403 Forbidden” 错误 出现这个错误一般是因为以下原因: 网站禁止特定的用户访问所有内容,例:网站屏蔽某个ip访问。 访问禁止目录浏览的目录,例:设置autoindex off后访问目录。 ...

河图再现 ⋅ 28分钟前 ⋅ 0

上海云栖:金融政企行业的CDN最佳实践

摘要: 在刚刚结束的上海云栖大会飞天技术汇分论坛上,阿里云视频云产品架构师罗小飞进行了《阿里云CDN——面向金融政企的CDN最佳实践》主题分享,为上海的嘉宾介绍CDN的解决方案与技术服务体...

猫耳m ⋅ 33分钟前 ⋅ 0

docker 基本操作

docker介绍 Docker项目提供了构建在Linux内核功能之上,协同在一起的的高级工具。其目标是帮助开发和运维人员更容易地跨系统跨主机交付应用程序和他们的依赖。Docker通过Docker容器,一个安全...

haoyuehong ⋅ 34分钟前 ⋅ 0

上海云栖:金融政企行业的CDN最佳实践

摘要: 在刚刚结束的上海云栖大会飞天技术汇分论坛上,阿里云视频云产品架构师罗小飞进行了《阿里云CDN——面向金融政企的CDN最佳实践》主题分享,为上海的嘉宾介绍CDN的解决方案与技术服务体...

阿里云云栖社区 ⋅ 36分钟前 ⋅ 0

安装与配置hadoop

一、CentOS7安装 java8,参考centos7.0 安装java1.8,tomcat 二、安装hadoop 版本V3.03 1、下载并解压hadoop # mkdir /usr/local/app# mkdir /usr/local/app/hadoop# cd /usr/local/app/had......

iturtle ⋅ 38分钟前 ⋅ 0

Idea设置Serializable自动生成

File --> Settings --> Editor --> Inspections ->Serialization issues,在该项下找到“Serializable class without 'serialVersionUID' ”并勾选...

Gmupload ⋅ 41分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部