`
basictk
  • 浏览: 16992 次
  • 性别: Icon_minigender_1
  • 来自: 灯红酒绿都
最近访客 更多访客>>
社区版块
存档分类
最新评论

Log4J简明使用手册

    博客分类:
  • Java
阅读更多
本文包含Log4J的配置以及使用两方面:

配置
Log4J的配置通常利用properties文件, 当然也允许xml或者数据库.
properties文件通常放在与src平行的目录下
配置包含三个方面, Logger / Appender / Layout

Logger

程序中利用Log4j功能的入口,允许定义指定名称的Logger,同时也允许定义rootLogger作为默认Logger。默认Logger也在Log4j无法定位指定名称的Logger时使用。
Logger的定义规则为:

log4j.myLogger = [level], appender1, appender2

myLogger 为任意logger名称,也可为rootLogger;
level为日志等级,只有等级不低于其的日志才允许输出,Log4j定义了五种日志等级,由低到高依次为 DEBUG, INFO, WARN, ERROR, FATAL;
appender1, appender2为指定输出的Appender名称,可为多个,用逗号隔开。

Appender

指定日志输出的设备。即定义日志最终将输出到什么地方。
定义方式如下:

log4j.appender.myLogger = org.apache.log4j.ConsoleAppender

Log4j提供的Appender有:

  • org.apache.log4j.ConsoleAppender(控制台)
  • org.apache.log4j.FileAppender(文件)
  • org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
  • org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生新文件)
  • org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方

每一类Appender都有自己特定的参数可配置,具体配置方式如:

log4j.appender.myLogger.MaxFileSize= 100KB

同时Log4j也允许自定义Appender,具体请参考其他文档。

Layout

定义输出日志的格式。定义方式如下:

log4j.appender.myLogger.layout = org.apache.log4j.SimpleLayout

同样地,Log4j也默认提供了一些格式:

  • org.apache.log4j.HTMLLayout(以HTML表格形式布局),
  • org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
  • org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
  • org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

每一类Layout也具备自己特定的参数,但比较灵活的是PatternLayout,它提供了类似C语言中的格式定义的符号,即:

%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%r 输出自应用启动到输出该log信息耗费的毫秒数
%c 输出所属的类目,通常就是所在类的全名
%t 输出产生该日志事件的线程名
%n 输出一个回车换行符,Windows平台为“\r\n”,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)

如:log4j.appender.fileLayout.layout.ConversionPattern=%p %t %c - %m%n


使用

Log4j在Java class中的使用很简单,通过Logger.getLogger(s)方法获取,方法需要传入一个参数,可以为Class或者String,Log4j将其作为logger的名称查找配置,如未找到,则使用rootLogger。(对于传入Class,将转换为full name)

在使用时,使出Logger提供的不同等级的方法输出日志,即debug(), info(), warn(), error(), fatal()。


本文参考自:
http://www.blogjava.net/rickhunter/articles/28133.html
http://topic.csdn.net/u/20070411/16/6fb1f2dd-b270-4085-9f5d-6e29565e00c5.html
分享到:
评论

相关推荐

    介绍Log4j的使用 Log4j简明手册

    Log4j简明手册 转载的资料 希望对大家有用

    log4j简明手册

    "Log4j简明手册"提供了关于这个强大日志框架的详细指南,适合初学者和经验丰富的开发者。通过学习手册,你可以了解如何配置和使用Log4j,提升你的日志管理能力,从而更好地调试和监控你的Java应用。阅读"log4j简明...

    Log4j简明手册下载

    ### Log4j简明手册深度解析 #### 一、Log4j概览 Log4j是一款功能强大且灵活的开源日志框架,由Apache Software Foundation维护。它支持开发者以自定义的时间间隔控制日志的输出,同时具备平滑的学习曲线,易于上手...

    Log4j简明手册

    Log4j简明手册 几乎所有的大型应用程序都包括它的自己的日志和跟踪API。顺应这个规则,E.U. SEMPER 项目决定写它自己的跟踪PAI。这是1996年初。在无数次加强,几次变形和许多工作后,那个API变成了如今的Log4j,一个...

    Log4简明手册(配置)

    Log4j是一个广泛使用的Java日志框架,它允许开发者灵活地控制日志的输出,并通过外部配置文件实现运行时的动态调整。Log4j的设计旨在提供一个平滑的学习曲线,使其易于理解和使用,而且它已经对多种编程语言提供了...

    Log4j的相关资料

    Log4j的相关资料 其中包括个人积累收集的: Log4j简明手册 log4j使用大全 深入学习log4j 关于Log4j比较全面的配置 Java logging API如何与log4j较量 在Java应用软件中加入logging 等许多...

    微软活动目录管理管理简明手册

    R5 I* ~: k6 g1 B$ @4 Z- j' B ( y: ] o$ r9 C( \/ x5 b @: a站点(Site)是由一个或多个IP子网中的一组计算机,确保目录信息的有效交换,站点中的计算机需要很好地连接,尤其是子网内的计算机。站点和域名称空间...

    xdoclet_appfuse打包

    8. "log4j简明使用文档.doc":Log4j是Java日志框架,这个文档提供了关于如何配置和使用Log4j的日志记录功能。 9. "appfuse.txt"和"5.txt":这两个可能是额外的文本文件,可能包含了开发者笔记、命令行脚本或其他...

    26个编程必备API(中文)

    8. **Log4j1.2**:Log4j是Java日志记录的开源工具,它的API文档解释了如何配置和使用日志系统,便于进行调试和问题追踪。 9. **Struts2_zh**:Struts2是一个基于MVC模式的Java Web框架,其API文档涵盖了Action、...

    matlab命令大全-MATLAB命令大全.doc

    MATLAB 命令大全涵盖了 MATLAB 中的各方面命令和函数,旨在帮助用户快速熟悉和使用 MATLAB。 一、管理命令和函数 * help: 在线帮助文件,提供了 MATLAB 中所有命令和函数的详细说明。 * what: 列出当前目录下的 M...

Global site tag (gtag.js) - Google Analytics