`
Mr_Chunlei
  • 浏览: 28500 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

log4j配置文件学习

 
阅读更多

不要拷贝,即使自己写一遍也能学到东西:原地址

项目交接了,代码敏感(老大自己说的,我超不赞同)的老大们写的代码太牛了(从来不加注释)无语了,前期任务多,时间紧抱怨看段代码太浪费时间和精力,一天下来眼睛布满血丝。现在免疫了,抛开了太多顾虑,看一段代码很高兴啊哈哈(后期等死咧,任务超多,假期前列了一下18项,没自己时间,不过可以睡个好觉)

交接的项目中存在solr和ssh的项目,测试那边想将solr日志和ssh的日志分别打印出来,便于查找,自己还要模拟spring编写测试,所以查看了一下知识就直接帮他们配置了一下,但是配置两个地方先使用,现在有时间了,好好学习一下,后期帮他们修改一下,完善项目。

<pre name="code" class="html">log4j.rootLogger=INFO, CONSOLE, A
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppenderlog4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayoutlog4j.appender.CONSOLE.layout.ConversionPattern=[%-5p] %d{HH:mm:ss} (%F:%L) - %m%nlog4j.appender.A =org.apache.log4j.DailyRollingFileAppenderlog4j.appender.A.File = ../webapps/r2k/logs/log.txtlog4j.appender.A.layout=org.apache.log4j.PatternLayoutlog4j.appender.A.layout.ConversionPattern=[%-5p] %d{HH:mm:ss} (%F:%L) - %m%nlog4j.logger.com.apabi=DEBUG


上面的:

一、log4j.rootLogger=INFO, CONSOLE, A
其中rootLogger定义了日志输出的等级为INFO. 和输出地方为CONSOLE,A两个地方(可以理解为两个选择)。输出等级可以分为OFF<FATAL<ERROR<WARING<INFO<DEBUG<ALL,其中OFF最低,当选择OFF时不打出任何信息,INFO则打印出OFF,FATAL,ERROR,WARING,INFO信息,其他选项信息就可以理解了。CONSOLE ,A分别找到下面的一些配置信息


二、log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
这里定义了CONSOLE输出端的类型,所有的选择如下:

org.apache.log4j.ConsoleAppender(控制台),

org.apache.log4j.FileAppender(文件),

org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),

org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)

org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)


三、log4j.appender.A.File = ../webapps/r2k/logs/log.txt
这里定义了输出文件夹,这里动态的制定了文件的地址,如在项目的log4j则配置日志文件到tomcat的webapps下的r2k项目的logs文件夹下的log.txt


四、log4j.appender.A.layout=org.apache.log4j.PatternLayout
这里定义了输出文件以什么样的形式进行展示,展示格式的所有选择如下:

org.apache.log4j.HTMLLayout(以HTML表格形式布局),

org.apache.log4j.PatternLayout(可以灵活地指定布局模式),

org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),

org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)


五、log4j.appender.A.layout.ConversionPattern=[r2k][%-5p] %d{HH:mm:ss} (%F:%L) - %m%n
<span style="font-family: Calibri;font-size:12px; line-height: 25.1875px;"></span><span style="font-family: Calibri;font-size:12px; line-height: 25.1875px;">log4j.appender.stdout.layout.ConversionPattern= [QC] %p [%t] %C.%M(%L) | %m%n</span>

如果使用pattern布局就要指定的打印信息的具体格式ConversionPattern,打印参数如下:

%m输出代码中指定的消息

%p输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL

%r输出自应用启动到输出该log信息耗费的毫秒数

%c输出所属的类目,通常就是所在类的全名

%t输出产生该日志事件的线程名

%n输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”

%d输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日22:10:28,921

%l输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。

[QC]是log信息的开头,可以为任意字符,一般为项目简称。

输出的信息

[TS] DEBUG [main] AbstractBeanFactory.getBean(189) | Returning cached instance of singleton bean 'MyAutoProxy'

具体讲解可参照第三部分定义配置文件中的格式化日志信息。


六、log4j.logger.com.apabi=DEBUG
指定项目中com.apabi包下的类的输出日志等级定义为DEBUG

 七、log4j.logger.org.apache.commons=ERROR
  log4j.logger.org.apache.struts=WARN

这两句是struts的包。

八、log4j.logger.org.springframework=DEBUG

此句为Spring的包。


九、 log4j.logger.org.hibernate.ps.PreparedStatementCache=WARN
    log4j.logger.org.hibernate=DEBUG

此两句是hibernate的包。


  1. log4j.logger.com.fuyou.log.test2=debug,test2log
  2. log4j.logger.com.fuyou.log.test=debug,testlog

不同的包输出到不同的地方


4,log4j的使用

a)、从www.apache.org下载commongs-logging包;

b)、在你的class里面定义protectedfinalLoglogger=LogFactory.getLog(this.getClass());
c)、在需要日志输出的地方logger.info(...),logger.error(...),logger.debug(...),....注意,在使用时前最好做个判断if(logger.isDebugEnabled()){logger.debug("...");}其他类似。

1)需要考证,如果我不配置地方,呢么当项目来临时选择哪个

2)配置了com.hibernat= debug,而com.hibernate.de=info这个时候声明有没有顺序,是否会覆盖,需要参看源代码

分享到:
评论

相关推荐

    log4j配置文件

    log4j的简单配置,可以直接在项目中用,当然只是用自己学习时用。

    Log4j2学习log4j2.xml配置模板

    Log4j2学习笔记,引入log4j2的依赖-log4j2.xml配置模板-application.properties文件配置-使用

    Log4j配置详解高清版

    Log4j配置详解 特别清晰,大家可以下载来参考学习,有问题可以反馈

    log4j使用手册和配置文件实例

    log4j使用手册和配置文件实例,里面包含多份实例和两份log4j学习文档。

    深入学习log4J

    本书的主要内容有: 1.Log4J配置文件的学习 2.Log4J数据库 3.Log4J封装

    Log4j 学习笔记.doc

    Log4j 学习笔记. 1. Log4j的类图 ...3. xml格式的log4j配置文件概述 4. 在xml文件中配置appender和layout 5. 我自己的一个使用xml文件配置log4j环境的很简单的例子 6. Log4j的编码习惯 参考资料

    log4j配置 输出日志 案例

    log4j 配置 输出日志到控制台 到文件 代码及案例方便学习

    log4j 基本使用 配置文件 学习笔记

    log4j 基本使用 配置文件 和学习笔记培训架构的学习资料,分享给大家,希望对大家有用!

    深入学习log4j

    Loggers组件的主要功能是提供相应API,根据不同配置的loggers将不同级别的log输入到控制台或文件,类似于java中经常用到的System.out.println,但是log4j封装后的loggers组件能够输出更丰富的信息,包括时间,线程,...

    Log学习笔记——Log4j配置笔记.md

    Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件等等,我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成...

    Log4j学习和详细配置

    name : 这个那么就是你配置文件中对应的 log4j.logger. 后面的字符串  通过指定的名字获得记录器,如果必要的话,则为这个名字创建一个新的记录器。Name一般取本类的名字,比如:  static Logger logger = ...

    log4j配置

    log4j的配置.文件为txt格式,方便大家共同学习修正.

    log4j配置详解

    详细的讲述了log4j的配置,从中可以学习到日志文件的编写以及注意事项

    ssh ,log4j实例

    SSH框架整合实战项目,log4j完整的配置文件(log4j.perproties,log4j.xml),日志可输出到控制台、本地文件、数据库,提供多种配置方法,项目可直接运行,SQL语句在项目中。该项目对学习spring,struts2,hibernate,log...

    Java log4j commons文件

    java spring学习所需要的jar配置文件和commons配置文件

    Log4j学习笔记

    供初学人员学习,包括log4J的文件配置以及代码示例

    Log4J学习笔记

    Log4J学习笔记 1、配置文件 2、数据库 3、封装

    log4j的学习资料

    Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式...

    日志管理Log4j学习笔记

    Log4j 是 Apache 的一个开放源代码项目,通过使用 Log4j ,我们可以控制日志信 送的目的地是控制台、文件、 GUI 组件、甚至是套接口服务器、 NT 的事件记录器、 X Syslog 守护进程等;我们也可以控制每一条日志的...

    log4j的配置实例

    1、log4j-1.2.9.在tomcat5.5下面的配置 2、所需要配置的文件 学习参考

Global site tag (gtag.js) - Google Analytics