`

Log4j.xml 学习笔记

 
阅读更多

一。log4j的基础知识

 1.log4j有三种主要组件:logger、appender and layout
  2.Log4j提供的appender有以下几种:
  org.apache.log4j.ConsoleAppender(控制台)
  org.apache.log4j.FileAppender(文件)
  org.apache.log4j.DailyRollingFileAppender(每天产生一个日志 文件)
  org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
  org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
  3.Log4j提供的layout有以下几种:
  org.apache.log4j.HTMLLayout(以HTML表格形式布局)
  org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
  org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
  org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
  4.Log4j提供的几种输出格式:
  %M:Used to output the method name where the logging request was issued.
  %m:Used to output the application supplied message associated with the logging event.
  %l:Used to output location information of the caller which generated the logging event
  %L:Used to output the line number from where the logging request was issued.
  %p:Used to output the priority of the logging event.
  %n:Outputs the platform dependent line separator character or characters.
   %r:Used to output the number of milliseconds elapsed since the start of the application until the creation of the logging event.
  %F:Used to output the file name where the logging request was issued.
  %d:Used to output the date of the logging event.
  %c:Used to output the category of the logging event
  %C:Used to output the fully qualified class name of the caller issuing the logging request
  5.如果是对于效率要求比较高的话,要在log.debug()之前加上log.isDebugEnabled()进行判断,这样能够大大减少执行时间
  6.对于各个appenders,共有的属性是layout(一般设置为org.apache.log4j.PatternLayout),Threshold(Log的级别)
  (1)ConsoleAppender:Target(System.out和System.err)
  (2)FileAppender:File(定义输出的文件名),Append(定义是否为追加)
  (3)DailyRollingFileAppender(除FileAppender属性外):MaxFileSize(最大文件大小),MaxBackupIndex()

以上来自http://www.wangchao.net.cn/bbsdetail_64587.html

二。详细配置log4j.xml文件

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

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

    <appender name="console.CONSOLE"
  class="org.apache.log4j.ConsoleAppender">
  <param name="threshold" value="debug" />
  <layout class="org.apache.log4j.PatternLayout">
  <!--
   <param name="ConversionPattern" value="%d{HH:mm:ss}[%C.%M(%L)-%p] %m%n"/>
  -->
  <param name="ConversionPattern" value="%d{HH:mm:ss}[%C(%L)-%p] %m%n"/>
  </layout>
</appender>

<appender name="file.text.SYSFILE"
  class="org.apache.log4j.RollingFileAppender">
  <param name="threshold" value="error" />
  <param name="file" value="/juyee.log" />
  <param name="maxFileSize" value="2MB" />
  <param name="maxBackupIndex" value="5" />
  <param name="append" value="true" />
  <layout class="org.apache.log4j.PatternLayout">
   <param name="ConversionPattern"
    value="%-d{yyyy-MM-dd HH:mm:ss.SSS} [%p]-[%c] %m%n" />
  </layout>
</appender>
<appender name="file.text.DATE_FILE"
  class="org.apache.log4j.DailyRollingFileAppender">
  <param name="threshold" value="debug" />
  <param name="file" value="/juyee.log" />
  <param name="append" value="true" />
  <param name="datePattern" value="'.'yyyy-MM-dd" />
  <!-- each hour
   <param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
  -->
  <layout class="org.apache.log4j.PatternLayout">
   <param name="ConversionPattern" value="%d %-5p [%c] %m%n" />
  </layout>
</appender>
<appender name="file.text.APPFILE"
  class="org.apache.log4j.RollingFileAppender">
  <param name="threshold" value="error" />
  <param name="file" value="${webapp.root}/WEB-INF/logs/juyee.log" />
  <param name="maxFileSize" value="1024KB" />
  <param name="maxBackupIndex" value="5" />
  <param name="append" value="true" />
  <layout class="org.apache.log4j.PatternLayout">
   <param name="ConversionPattern"
    value="%d %-5p %c - %m [%t] (%F:%L)%n" />
  </layout>
</appender>
<appender name="file.html.HTML"
  class="org.apache.log4j.RollingFileAppender">
  <param name="threshold" value="error" />
  <param name="file" value="/juyee-log.html" />
  <param name="maxFileSize" value="1024KB" />
  <param name="maxBackupIndex" value="5" />
  <param name="append" value="true" />
  <layout class="org.apache.log4j.HTMLLayout" />
</appender>
<appender name="file.xml.XML"
  class="org.apache.log4j.RollingFileAppender">
  <param name="threshold" value="error" />
  <param name="file" value="/juyee-log.xml" />
  <param name="maxFileSize" value="1024KB" />
  <param name="maxBackupIndex" value="5" />
  <param name="append" value="true" />
  <layout class="org.apache.log4j.xml.XMLLayout" />
</appender>

  <appender name="mail.MAIL" class="org.apache.log4j.net.SMTPAppender">
  <param name="threshold" value="debug"/>
            <!--
        <param name="threshold" value="fatal"/>
        -->
  <param name="BufferSize" value="10"/>
  <param name="From" value="yangguanjun@justonetech.com"/ >
  <param name="SMTPHost" value="www.justonetech.com"/ >
  <param name="Subject" value="juyee-log4jMessage"/>
  <param name="To" value="yangguanjun@justonetech.com"/ >
  <layout class="org.apache.log4j.PatternLayout">
  <param name="ConversionPattern" value="%-d{yyyy-MM-dd HH:mm:ss.SSS} [%p]-[%c] %m%n" />
  </layout>
  </appender>

<appender name="remote.CHAINSAW"
  class="org.apache.log4j.net.SocketAppender">
  <param name="threshold" value="fatal" />
  <param name="remoteHost" value="localhost" />
  <param name="port" value="4445" />
  <param name="locationInfo" value="true" />
</appender>

<category name="com.juyee" additivity="true">
  <priority value="info" />
  <appender-ref ref="console.CONSOLE" />
  <!--
  <appender-ref ref="file.text.DATE_FILE" />
  -->
</category>

<category name="com.co" additivity="true">
  <priority value="debug" />
  <appender-ref ref="console.CONSOLE" />
  <appender-ref ref="file.text.DATE_FILE" />
</category>

<category name="org" additivity="true">
  <priority value="WARN" />
  <appender-ref ref="console.CONSOLE" />
  <!--
  <appender-ref ref="file.text.DATE_FILE" />
  -->
</category>

<root>
  <!--
   <level value="trace" />
   <level value="debug" />
   <level value="info" />
   <level value="warn" />
   <level value="error" />
   <level value="fatal" />
   <appender-ref ref="console.CONSOLE" />
   <appender-ref   ref="file.text.DATE_FILE"/>
  -->
</root>
</log4j:configuration>

Refer : http://dolphin-ygj.javaeye.com/blog/312504

三。加载log4j.xml

Refer : http://smilecertian.blog.sohu.com/52335422.html

分享到:
评论

相关推荐

    Log4j2学习log4j2.xml配置模板

    Log4j2 配置模板学习笔记 Log4j2 是 Java 语言中一种流行的日志记录工具,它提供了灵活的日志记录管理功能。下面我们将学习 Log4j2 配置模板的使用和配置。 引入 Log4j2 依赖 在使用 Log4j2 之前,需要在 Maven ...

    Log4j的学习笔记

    **Log4j学习笔记** Log4j是一款广泛应用于Java编程中的日志记录工具,由Apache软件基金会开发。它提供了一种灵活且强大的机制来记录应用的运行情况,这对于调试、性能分析、问题追踪以及系统监控至关重要。这篇学习...

    读写Excel jxl.jar 读xml (log4j 文件上传下载笔记).rar

    这篇文档将深入探讨Java中如何使用jxl.jar库进行Excel文件的读写操作,解析XML文件,以及关于log4j的日志记录系统和文件的上传下载笔记。在现代的IT环境中,这些技能对于数据处理、日志管理和系统交互至关重要。 ...

    Log4J学习笔记

    ### Log4J学习笔记 #### 一、Log4J配置文件的学习 在深入理解Log4J之前,我们先从配置文件入手。Log4J支持多种配置文件格式,其中包括XML和Java特性文件(键=值)。这里我们将重点介绍如何使用Java特性文件作为...

    log4J学习笔记

    ### log4J学习笔记 #### 一、Apache Commons Logging与log4j及JDK Logger的关系 **Apache Commons Logging** 的设计初衷是为了提供一个简洁统一的日志接口,它并不直接实现日志功能,而是通过桥接的方式支持多种...

    日志管理Log4j学习笔记

    ### Log4j学习笔记知识点详解 #### 一、Log4j概述 - **定义与功能**:Log4j是Apache组织推出的一个开源日志框架,主要用于控制和管理应用程序中的日志记录过程。它允许开发者非常灵活地配置日志输出的目的地(如...

    log4j学习

    4. **Web应用配置**:在Web应用中,确保`commons-logging.properties`位于`WEB-INF/classes/`目录下,`log4j.properties`则可以放在`WEB-INF/`目录下,并在`web.xml`中配置Log4j初始化参数,以便Tomcat能找到并加载...

    Log4j 学习笔记

    Log4j 的核心配置文件通常是 `log4j.properties` 或 `log4j.xml`,它定义了日志的输出方式、级别和目的地。例如: ```properties # log4j.properties 示例 log4j.rootLogger=INFO, FILE, CONSOLE log4j.appender....

    Log4j 学习笔记.doc

    Log4j 是一款广泛使用的日志记录框架,它允许开发者以高效、灵活的方式记录应用程序的日志信息。在本文中,我们将深入...在学习过程中,参考官方文档和其他开发者的经验分享,可以进一步提升对Log4j的理解和应用能力。

    log4j学习笔记及写入数据库配置

    在学习Log4j的过程中,阅读“log4j学习笔记及写入数据库配置”这份资料将有助于深入理解Log4j的使用,包括具体的配置步骤、常见问题以及最佳实践。通过实践,你可以更好地掌握如何利用Log4j来提升你的应用程序的可...

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

    **log4j基础使用与配置文件详解** 在Java开发中,日志管理是不可或缺...通过阅读《log4j学习笔记.doc》、《log4j.doc》、《log4j配置文件.doc》和《log4j的基本使用.doc》等文档,你将能更深入地掌握log4j的使用技巧。

    log4j的学习笔记

    **Apache Log4j 学习笔记** Apache Log4j 是一个广泛使用的开源日志记录框架,主要用于Java应用程序。它的核心功能是提供灵活的日志记录控制,帮助开发者在开发过程中跟踪和记录程序运行时的事件,从而提高调试效率...

    log4j详细的学习笔记.

    在实际应用中,通常会通过配置文件(如log4j.properties或log4j.xml)来精细控制Log4j的行为,包括设置日志级别、指定Appender及Layout、过滤特定的日志信息等。 总的来说,Log4j是Java开发中不可或缺的工具,它的...

    log4j学习笔记.

    Log4j支持两种类型的配置文件:XML格式和Java特性文件。Java特性文件是一种简单的键值对文件,易于阅读和编写,但灵活性和复杂度不如XML配置。下面以Java特性文件为例进行深入探讨。 #### 2. 示例配置分析 在给定...

    log4j-为文章提供下载资源

    标题“log4j-为文章提供下载资源”暗示了这是一个与log4j相关的资源,可能是为了辅助阅读或学习关于log4j的文章,比如《JAVA学习笔记07——Hibernate框架第一章》。log4j是Java日志记录的一个著名库,广泛应用于各种...

    log4j 学习笔记

    "log4j 学习笔记" log4j 是一个流行的 Java 日志记录工具, logger 是记录日志信息的基本单元。在 log4j 中, logger 的级别越低,记录的日志信息越详细。 Logger 的级别从低到高依次是:ALL 。 log4j 的日志记录...

    log4j学习笔记

    Log4j 的配置通常通过一个名为 log4j.properties 或 log4j.xml 的文件进行,该文件包含了对 Appender、Layout 和 Logger 的配置信息。配置文件的灵活性使得开发者可以根据环境需求快速调整日志行为。 **API** Log4...

    Log4j入门学习笔记

    【Log4j入门学习笔记】 Log4j是一个广泛使用的Java日志框架,旨在解决程序开发中日志记录的复杂性和可维护性问题。它提供了一种灵活的方式来控制日志信息的输出格式、输出级别和输出位置,使得在调试、监控和故障...

    Log4j学习笔记,个人整理

    Log4j学习笔记 在软件开发中,日志记录是一个至关重要的部分,它不仅帮助开发者监控程序运行状态,追踪错误,还可以为系统维护提供宝贵的审计信息。Log4j,一个由Apache开发的Java日志框架,是日志记录工具中的佼佼...

    lo4j学习笔记

    - 在使用Log4j时,通常会有一个配置文件(如 `log4j.properties` 或 `log4j.xml`),用于定义日志输出的行为。配置文件中包含根日志器的级别、输出目的地(如控制台或文件)以及日志格式。例如,`log4j.rootLogger`...

Global site tag (gtag.js) - Google Analytics