`

Log4j详解和例子

阅读更多

log4j.properties配置文件讲解如下:
# Set root logger level to DEBUG and its only appender to A1
#log4j中有五级logger
#FATAL 0
#ERROR 3
#WARN 4
#INFO 6
#DEBUG 7

配置根Logger,其语法为:
#log4j.rootLogger = [ level ] , appenderName, appenderName, …
log4j.rootLogger=INFO, A1 ,R
#这一句设置以为着所有的log都输出
#如果为log4j.rootLogger=WARN, 则意味着只有WARN,ERROR,FATAL
#被输出,DEBUG,INFO将被屏蔽掉.
# A1 is set to be a ConsoleAppender.
#log4j中Appender有几层如控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等
#ConsoleAppender输出到控制台
log4j.appender.A1=org.apache.log4j.ConsoleAppender
# A1 使用的输出布局,其中log4j提供4种布局. org.apache.log4j.HTMLLayout(以HTML表格形式布局)
#org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
#org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
#org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

log4j.appender.A1.layout=org.apache.log4j.PatternLayout
#灵活定义输出格式 具体查看log4j javadoc org.apache.log4j.PatternLayout
#d 时间 ....
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
#R 输出到文件 RollingFileAppender的扩展,可以提供一种日志的备份功能。
log4j.appender.R=org.apache.log4j.RollingFileAppender
#日志文件的名称
log4j.appender.R.File=log4j.log
#日志文件的大小
log4j.appender.R.MaxFileSize=100KB
# 保存一个备份文件
log4j.appender.R.MaxBackupIndex=1 log4j.appender.R.layout=org.apache.log4j.TTCCLayout
#log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n


配置根Logger,其语法为:

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

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

配置日志信息输出目的地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(将日志信息以流格式发送到任意指定的地方)

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


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(包含日志产生的时间、线程、类别等等信息)

 

 

 

 

 

 

xml例子:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"
 debug="false">

 <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
  <param name="Threshold" value="ALL" />
  <param name="Target" value="System.out" />

  <layout class="org.apache.log4j.PatternLayout">
   <!-- The default pattern: Date Priority [Category] Message\n -->
   <param name="ConversionPattern"
    value="%d{ABSOLUTE} %-5p [%c{1}] %m%n" />
  </layout>
 </appender>
 
 <appender name="FILE"
  class="org.apache.log4j.RollingFileAppender">
  <errorHandler
   class="org.apache.log4j.helpers.OnlyOnceErrorHandler" />
  <param name="File" value="selenium.log" />
  <param name="Threshold" value="DEBUG" />
  <param name="Append" value="false" />
  <param name="MaxFileSize" value="1024KB" />
  <param name="MaxBackupIndex" value="3" />

  <layout class="org.apache.log4j.PatternLayout">
   <param name="ConversionPattern" value="%d %-5p [%c] %m%n" />
  </layout>
 </appender> 
 
 
 <!-- ================ -->
 <!-- Limit categories -->
 <!-- ================ -->
 
 <logger name="com">
  <level value="ERROR" />
 </logger>
 
 <logger name="org">
  <level value="info" />
 </logger>
 
 <logger name="org.springframework">
  <level value="ERROR" />
 </logger>

 <logger name="org.hibernate">
  <level value="ERROR" />
 </logger>
 
 <logger name="com.talgroup">
  <level value="ALL" />
 </logger>

 <!-- ======================= -->
 <!-- Setup the Root logger -->
 <!-- ======================= -->
 
 <root>
  <appender-ref ref="CONSOLE" />
  <appender-ref ref="FILE" />
 </root>
</log4j:configuration>

 

 

 

property例子:

### direct log messages to stdout ###
log4j.rootLogger=ERROR,FILE 
log4j.addivity.org.apache=true 
#........console 
#log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender  
#log4j.appender.Threshold=DEBUG  
#log4j.appender.CONSOLE.Target=System.out  
#log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout  
#log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n  
#log4j.appender.CONSOLE.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[thread] n%c[CATEGORY]%n%m[MESSAGE]%n%n  
#............file
log4j.appender.FILE=org.apache.log4j.FileAppender  
log4j.appender.FILE.File=file.log  
log4j.appender.FILE.Append=false 
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout  
log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n  
# Use this layout for LogFactor 5 analysis  

 

分享到:
评论

相关推荐

    log4j.properties详解与例子

    本文将深入解析`log4j.properties`配置文件,以及如何配置Logger、Appender和Layout。 首先,创建`log4j.properties`文件是启动Log4j功能的第一步。这个文件通常放在项目的`classes`目录下,以确保在运行时可以被...

    DOM4j和log4j例子详解

    在提供的"TestDom4jLog4j"项目中,应该包含了使用DOM4j处理XML和log4j记录日志的示例代码,通过阅读和运行这些代码,可以更好地理解DOM4j和log4j的使用方法。对于初学者来说,这是一个很好的实践和学习资源。

    log4j使用例子和文档

    **日志框架Log4j详解** 日志框架在软件开发中扮演着至关重要的角色,它帮助开发者记录应用程序的运行情况,便于调试、监控和问题排查。Log4j是Apache组织提供的一款广泛使用的Java日志框架,它具有高效、灵活、可...

    Log4j 详解与实战

    ### Log4j 详解与实战 #### 一、Log4j 概述 Log4j 是 Apache 的一个开源项目,它是由 Java 编写的一款功能强大的日志记录工具。Log4j 具备灵活的日志配置能力,允许开发者在运行时动态地控制日志输出的等级、格式...

    Log4j 入门到详解[推荐].pdf

    ### Log4j从入门到详解知识点汇总 #### 1. Log4j简介 Log4j是Apache的一个开源项目,主要用于实现日志记录功能。通过使用Log4j,开发者可以非常方便地控制日志信息的输出目的地(如控制台、文件等)、每条日志的...

    log4j.properties 的使用详解(含log4j.properties)

    《log4j.properties 使用详解》 在Java开发中,日志记录是一项不可或缺的工作,它能够帮助开发者追踪程序运行状态,定位错误,优化性能。而log4j作为一款强大的日志框架,广泛应用于各种Java项目中。本文将详细介绍...

    log4jxml详细分析 例子全

    ### Log4j XML 配置详解与实例解析 在深入探讨`log4j.xml`配置文件之前,我们先简要了解Log4j框架。Log4j是Apache的一个开放源码项目,通过使用Log4j,我们可以控制日志信息输送的目的地(控制台、文件等)、日志...

    log4j从入门到详解

    ### log4j从入门到详解 #### 1. Log4j简介 Log4j是一款由Apache组织提供的开源日志组件,被广泛应用于Java应用程序中。它可以帮助开发者在应用程序中记录日志信息,这对于调试程序、追踪错误以及进行系统监控等...

    log4j应用的一个例子

    **日志框架Log4j详解** 在Java编程中,日志记录是不可或缺的一部分,它用于追踪程序运行状态、错误信息以及调试过程中的细节。Log4j是Apache组织提供的一款广泛使用的开源日志框架,它为Java应用程序提供了灵活的...

    Java资料 log4j详解与实战.txt

    在“log4j详解”部分,我们首先会了解到Log4j的核心概念,包括Logger、Appender、Layout和Level。Logger是记录日志的对象,它可以设置不同的级别(如DEBUG、INFO、WARN、ERROR和FATAL),以便控制不同级别的信息输出...

    log4详解详解详解详解

    Log4j 的核心组件包括 Logger、Appender 和 Layout,这些组件共同协作,使得日志信息的管理变得灵活且可定制。 1. **Logger** Logger 是 Log4j 中的基础组件,它负责生成日志消息。每个 Logger 都有一个唯一的名称...

    log4j多个简单实例

    **日志框架Log4j详解** 在Java编程中,日志记录是不可或缺的一部分,它用于追踪应用程序的运行状态,帮助开发者在出现问题时定位错误。Log4j是Apache组织开发的一个强大的、灵活的日志记录框架,它允许我们控制日志...

    log4j详解********

    《Log4j详解》 在软件开发中,日志记录扮演着至关重要的角色,它可以帮助开发者追踪程序运行状态,定位错误,进行性能监控,以及为审计提供必要的信息。Log4j,作为一个强大的日志框架,由Apache开源组织提供,为...

    log4j使用详解 实例

    《log4j使用详解及实例解析》 log4j,作为Java日志记录框架的典型代表,被广泛应用于各类项目中,提供灵活、高效的日志管理能力。本文将深入讲解log4j的使用方法,包括如何配置log4j以及在不同环境下的应用。 一、...

Global site tag (gtag.js) - Google Analytics