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

J2EE基础篇 对Log4J使用方法的简单讲解

阅读更多

Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。

 

日志信息的优先级从高到低有ERROR、WARN、INFO、DEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。

写配置文件

#配置文件settingfilename.ini

log4j.rootLogger=INFO, A1, A2

#setting for appender A1

log4j.appender.A1=org.apache.log4j.ConsoleAppender

log4j.appender.A1.layout=org.apache.log4j.PatternLayout

log4j.appender.A1.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n

#setting for appender A2

log4j.appender. A2=org.apache.log4j.RollingFileAppender

log4j.appender. A2.File=example.log

log4j.appender. A2.MaxFileSize=100KB

log4j.appender. A2.MaxBackupIndex=1

log4j.appender. A2.layout=org.apache.log4j.PatternLayout

log4j.appender. A2.layout.ConversionPattern=%p %t %c - %m%n

 

注意:其中的log4j.appender必须都为小写

注释:

1.配置根Logger,其语法为:

log4j.rootLogger = [ level ] , appenderName, appenderName, …

其中,level 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。指定输出只显示比该级别以上的信息,所有比该级别低的信息都不会被显示。比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。

appenderName就是指定日志信息输出到哪个地方。您可以同时指定多个输出目的地。

 

2.配置日志信息输出目的地Appender,其语法为

log4j.appender.appenderName = fully.qualified.name.of.appender.class

log4j.appender.appenderName.option1 = value1

log4j.appender.appenderName.option = valueN

其中,Log4j提供的appender有以下几种:

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

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

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

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

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

 

3.配置日志信息的格式(布局),其语法为:

log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class

log4j.appender.appenderName.layout.option1 = value1

log4j.appender.appenderName.layout.option = valueN

其中,Log4j提供的layout有以下几种:

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

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

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

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

 

4.当layout为PatternLayout时,ConversionPattern的格式有下面选项:

%r: 自程序开始后消耗的毫秒数

%t: 表示日志记录请求生成的线程

%p: 表示日志语句的优先级

%r: 与日志请求相关的类别名称

%c: 信息所在的类名

%m%n: 表示消息的内容

 

5.配置文件同样适用于服务器端和客户端。

 

代码中的使用

1. import中加入以下几行:

import org.apache.log4j.PropertyConfigurator ;

import org.apache.log4j.Logger ;

import org.apache.log4j.Level ;

2. 定义Logger变量

static Logger logger = Logger.getLogger(ServerWithLog4j.class.getName ()) ;

3. 读配置文件

PropertyConfigurator.configure (String settingfilename) ;

4. 显示日志信息

按显示级别显示日志信息

logger.debug(String log_info);

用于显示调试信息

logger.info (String log_info);

用于显示系统提示信息

logger.warn(String log_info);

用于显示警告或特殊提示

logger.error(String log_info);

用于显示错误信息,一般在异常中使用。例如:

catch(IOException e) {

logger.error("IOException!");

System.exit(0);

}

 

以上只是很简单的log4j包的一般使用,如果在使用中遇到问题,请查看包的API得到更详细的信息!

 
分享到:
评论

相关推荐

    开发者突击·Java Web主流框架整合开发(J2EE+Struts+Hibernate+Spring)源码

    在《开发者突击:Java Web主流框架整合开发(J2EE+Struts+Hibernate+Spring)》架构讲解的过程中,穿插介绍了JDBC、Log4j、Sitemesh、JUnit技术。 随书附赠光盘内容包括《开发者突击:Java Web主流框架整合开发(J2EE+...

    开发者突击:Java Web主流框架整合开发.part07.rar

    在本书架构讲解的过程中,穿插介绍了JDBC、Log4j、Sitemesh、JUnit技术。  随书附赠光盘内容包括本书10种架构原型程序包、个人通讯录及办公自动化系统源程序。  本书内容循序渐进,通俗易懂,覆盖了Java Web开发的...

    开发者突击:Java Web主流框架整合开发.part12.rar

    在本书架构讲解的过程中,穿插介绍了JDBC、Log4j、Sitemesh、JUnit技术。  随书附赠光盘内容包括本书10种架构原型程序包、个人通讯录及办公自动化系统源程序。  本书内容循序渐进,通俗易懂,覆盖了Java Web开发的...

    开发者突击:Java Web主流框架整合开发.part09.rar

    在本书架构讲解的过程中,穿插介绍了JDBC、Log4j、Sitemesh、JUnit技术。  随书附赠光盘内容包括本书10种架构原型程序包、个人通讯录及办公自动化系统源程序。  本书内容循序渐进,通俗易懂,覆盖了Java Web开发的...

    开发者突击:Java Web主流框架整合开发.part10.rar

    在本书架构讲解的过程中,穿插介绍了JDBC、Log4j、Sitemesh、JUnit技术。  随书附赠光盘内容包括本书10种架构原型程序包、个人通讯录及办公自动化系统源程序。  本书内容循序渐进,通俗易懂,覆盖了Java Web开发的...

    开发者突击:Java Web主流框架整合开发.part04.rar

    在本书架构讲解的过程中,穿插介绍了JDBC、Log4j、Sitemesh、JUnit技术。  随书附赠光盘内容包括本书10种架构原型程序包、个人通讯录及办公自动化系统源程序。  本书内容循序渐进,通俗易懂,覆盖了Java Web开发的...

    开发者突击:Java Web主流框架整合开发.part06.rar

    在本书架构讲解的过程中,穿插介绍了JDBC、Log4j、Sitemesh、JUnit技术。  随书附赠光盘内容包括本书10种架构原型程序包、个人通讯录及办公自动化系统源程序。  本书内容循序渐进,通俗易懂,覆盖了Java Web开发的...

    开发者突击:Java Web主流框架整合开发.part11.rar

    在本书架构讲解的过程中,穿插介绍了JDBC、Log4j、Sitemesh、JUnit技术。  随书附赠光盘内容包括本书10种架构原型程序包、个人通讯录及办公自动化系统源程序。  本书内容循序渐进,通俗易懂,覆盖了Java Web开发的...

    开发者突击:Java Web主流框架整合开发.part08.rar

    在本书架构讲解的过程中,穿插介绍了JDBC、Log4j、Sitemesh、JUnit技术。  随书附赠光盘内容包括本书10种架构原型程序包、个人通讯录及办公自动化系统源程序。  本书内容循序渐进,通俗易懂,覆盖了Java Web开发的...

    大数据培训课程安排.pdf

    训课程分享给⼤家,希望对学习⼤数据技术的⼩伙伴能有所帮助 上图如果看的不是很清楚,我⾃⼰做了⼀个简单介绍,⽤通俗易懂的话语讲解给各位 ps:第⼀⾄第四阶段是我将java基础添加上,如果有java基础的伙伴,⾃动跳...

Global site tag (gtag.js) - Google Analytics