Log4j 学习笔记

原创 2004年12月29日 10:57:00

Log4j包的使用方法

Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERRORWARNINFODEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。

写配置文件

#配置文件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 是日志记录的优先级,分为OFFFATALERRORWARNINFODEBUGALL或者您定义的级别。Log4j建议只使用四个级别,优先级从高到低分别是ERRORWARNINFODEBUG通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。指定输出只显示比该级别以上的信息,所有比该级别低的信息都不会被显示。比如在这里定义了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.layoutPatternLayout时,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得到更详细的信息!

系统日志输出之log4j学习笔记

Log4J是Apache的一个开放源代码项目,使用Log4j可以将日志输出到文件,OutputStream,java.io.Writer,远程Log4j服务器以及Unix Syslog守护进程。Log...
  • polo_longsan
  • polo_longsan
  • 2015年07月25日 13:02
  • 513

JavaWeb学习笔记之Log4j使用教程

一、入门实例1.新建一个JAva工程,导入包log4j-1.2.17.jar,整个工程最终目录如下 2、src同级创建并设置log4j.properties ### 设置### log...
  • u014349086
  • u014349086
  • 2016年06月11日 11:19
  • 4536

Log4j 学习笔记

 Index  1. Log4j的类图  2. Logger:日志写出器      1. Logger的输出方法      2. Logger的命名规则      3. Log level      ...
  • mengchuchen
  • mengchuchen
  • 2006年12月29日 18:18
  • 360

lOG4J学习笔记

Logger - 日志写出器,供程序员输出日志信息 Appender - 日志目的地,把格式化好的日志信息输出到指定的地方去 ConsoleAppender - 目的地为控制台的Appender Fi...
  • wongda2008
  • wongda2008
  • 2006年09月08日 11:41
  • 721

<学习笔记> log4j

(1). 输出方式appender一般有5种: org.apache
  • Mars_Jiang
  • Mars_Jiang
  • 2016年07月07日 15:53
  • 212

log4j 学习笔记

 关于log4j的介绍大都从三个组件:Category、Appender和layout开始。一、介绍CategoryLogger定义了一组写日志的方法。但是,Logger的魅力并不仅限于此。要理解Lo...
  • zhangyuk
  • zhangyuk
  • 2005年04月06日 16:13
  • 1111

Log4j 学习笔记

  让每个类都拥有一个private static的Logger对象,用来输出该类中的全部日志信息 使用xml文件来完成对log4j环境的配置。在项目的main class中的静态初始化块里放log4...
  • honglei225
  • honglei225
  • 2006年10月02日 20:57
  • 1046

log4j学习笔记

rootLogger与rootCategory的区别 rootLogger是新的使用名称,对应Logger类 rootCategory是旧的使用名称,对应原来的Category类 Logger类是C...
  • cd_plant
  • cd_plant
  • 2013年10月10日 09:51
  • 391

Log4j学习笔记

 一、简介Log4j是Apache的一个开源项目,可以到官方网址下载 log4j.jar。Log4j主要有三个组件组成1、logger组件中文解释为记录器,用来负责现产生日志2、Appender组件用...
  • mmruy
  • mmruy
  • 2007年10月18日 10:49
  • 817

Log4J学习笔记

Three Basic Concept:Category: you instantiate a category instance, you can call its various logging ...
  • smilingleo
  • smilingleo
  • 2004年09月28日 13:41
  • 843
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Log4j 学习笔记
举报原因:
原因补充:

(最多只允许输入30个字)