`
jacken
  • 浏览: 34020 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Log4j快速入门

阅读更多

log4j

这几天开发的项目需要用到Log4j,以前没有接触过Log4j,因此需要快速掌握并应用此包.

本文内容:

  1. Log4j的介绍
  2. Log4j的应用
  3. Log4j与其他框架

 

Log4j的介绍

What?

Log4jApache的一个开放源代码的一个日志操作包(http://jakarta.apache.org/log4j)。Log4j可以帮助调试和分析。

概念?

Log4j有三个主要的组件,它们分别是:

  1. 记录器(Logger):记录器只管什么日志信息应该记录(日志记录级别),可不关心log数据存放。
  2. 存放器(Appender):log信息通过存放器输出到目的地.
  3. 布局(Layout):布局负责格式化输出的log信息。

Logger,Appender,Layout三大组件的关系是:一个Logger可以有多个Appender(可以同时输出到多个设备上),每个Appender对应一种Layout(示例见下图)。

log4j

Logger组件

有一个超类–log4j.rootLogger.它永远存在,且不能够通过名字引用.不过可以通过Logger类中的getRootLogger()获得.Logger组件的继承关系:

  1. 如果子类Logger组件没有定义日志级别,则将继承父类的日志级别
  2. 如果把子类Logger组件的additivity标志设为false(默认为true),那么它就不会继 承父类Appender,否则将继承父类所有的Appender.

Appender组件

决定将日志信息输出到什么地方。支持以下目的地:

  1. 控制台(Console)
  2. 文件(File)
  3. GUI组件(GUI component)
  4. 套接口服务器(Remote socket server)
  5. NT的事件记录器(NT Event Logger)
  6. UNIX Syslog守护进程(Remote UNIX Syslog daemon)

Layout组件

Layout组件决定日志输出格式,有以下几种类型:

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

日志级别

一共有五种,级别由高到低依次是:fatal、error、warn、info、debug .获得Logger实例后,可调用相应的日志级别输出日志信息,当级别大于或等于Logger组件配置的日志级别时才调用.

Log4j应用

Log4j的配置

Log4j可以在程序中实现配置,但在配置文件中配置似乎更又维护性.Log4jLog4j支持两种格式的配置文件:XML格式和Java的property格式.本文以后者举例.

## LOGGERS ##

 #配置 root logger,其语法为:
#log4j.rootLogger = [ level ] , appenderName, appenderName, …
log4j.rootLogger=INFO,console

 #定义一个名为myLogger的Logger
 #日志级别为WARN,则意味着只有WARN,ERROR,FATAL被输出,DEBUG,INFO将被屏蔽掉.
log4j.logger.myLogger=WARN

 #定义一个继承myLogger的Logger,
log4j.logger.myLogger.mySonLogger=,file

 ## APPENDERS ##

 #定义一个名为console的appender, which is set to be a ConsoleAppender
log4j.appender.console=org.apache.log4j.ConsoleAppender

 # 定义一个名为file的appender, which is set to be a FileAppender
log4j.appender.file=org.apache.log4j.FileAppender
#日志输出的文件
log4j.appender.file.File=htmllog.html

 ## LAYOUTS ##

 # 设置console Appender的Layout为SimpleLayout
log4j.appender.console.layout=org.apache.log4j.SimpleLayout

 # 设置file Appender的Layout为HTMLLayout
 log4j.appender.file.layout=org.apache.log4j.HTMLLayout
 #log4j.appender.file.layout=org.apache.log4j.PatternLayout
 #log4j.appender.file.layout.ConversionPattern=%t%p-%m%n

更多的Appender和Layout请查看Log4j的API

在程序中使用Log4j

首先将Log4j的jar包(log4j-1.2.15.jar)导入到工程中,然后再写Log4j的配置文件(log4j.properties) ,在程序中使用API.举例:

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
 
public class Test {
 
    
public static void main(String[] args) {
        
// Load the proerties using the PropertyConfigurator
        
PropertyConfigurator.configure("config/log4j.properties");
        
// Get an instance of the myLogger
        
Logger myLogger = Logger.getLogger("myLogger");
        
// Get an instance of the childLogger
        
Logger mySonLogger = Logger.getLogger("myLogger.mySonLogger");
        
// Log Messages using the Parent Logger
        
myLogger.debug("This is a log message from the " + myLogger.getName());
        
myLogger.info("This is a log message from the " + myLogger.getName());
        
myLogger.warn("This is a log message from the " + myLogger.getName());
        
myLogger.error("This is a log message from the " + myLogger.getName());
        
myLogger.fatal("This is a log message from the " + myLogger.getName());
        
mySonLogger.debug("This is a log message from the "
                +
mySonLogger.getName());
        
mySonLogger.info("This is a log message from the "
                +
mySonLogger.getName());
        
mySonLogger.warn("This is a log message from the "
                +
mySonLogger.getName());
        
mySonLogger.error("This is a log message from the "
                +
mySonLogger.getName());
        
mySonLogger.fatal("This is a log message from the "
                +
mySonLogger.getName());
    
}
 
}

Log4j与其他框架

有空再补充…

 

 

转之: http://www.jacken.com.cn/log4j-fast-reference.yy/

分享到:
评论

相关推荐

    log4j快速入门与精通

    ### Log4j快速入门与精通知识点详解 #### 一、Log4j简介 Log4j 是 Apache 的一个开源项目,用于 Java 应用程序的日志记录。它提供了一个灵活的日志记录框架,允许开发者根据需求定制日志级别、输出目标等配置。Log...

    LOG4J快速入门及参考资料.txt

    ### LOG4J快速入门 #### 一、简介与安装配置 Log4j 是一个非常流行的 Java 日志框架,由 Apache 软件基金会提供。它能够帮助开发者在应用程序中记录日志信息,这对于调试程序、追踪错误以及进行系统监控等方面具有...

    log4j从入门到详解

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

    log4J最简单入门

    ### Log4J 最简入门详解 #### 一、Log4J简介与基本概念 Log4J是一款非常流行的Java日志框架,由Apache软件基金会提供。它可以帮助开发者在应用程序中记录日志信息,这对于调试和维护应用程序来说至关重要。本文将...

    log4j配置.txt

    #### 三、Log4j快速入门 1. **添加依赖** 需要在项目的`lib`目录下加入`log4j-1.x.x.jar`,或者通过Maven、Gradle等方式添加依赖。 ```xml <groupId>log4j <artifactId>log4j <version>1.2.17 ``` 2. ...

    log4j配置详解 新手入门教程

    ### Log4j配置详解 #### 一、Log4j简介 Log4j是Apache的一个开源项目,用以实现日志功能。它通过简单的API提供强大的日志记录功能,并且允许用户自定义配置来...希望本文能帮助初学者快速掌握Log4j的基本配置方法。

    log4j2使用入门

    **标题:“Log4j2使用入门”** **描述:** 这篇博客主要介绍了如何开始使用Log4j2,Log4j...通过学习“Log4j2使用入门”,开发者能够快速上手这个强大的日志框架,提升其日志管理能力,从而更好地支持软件开发和维护。

    java学习log4j详细文档和入门工程

    本资料包包含了关于Log4j的详细学习资源,包括文档、PPT以及一个简单的入门工程,帮助初学者快速掌握Log4j的使用。 **1. Log4j基础概念** Log4j由三个主要组件构成:Logger(日志器)、Appender(输出器)和Layout...

    Log4j入门实例Log4j入门实例

    本文将深入探讨Log4j的基础知识、配置和使用实例,帮助初学者快速入门。 首先,理解Log4j的核心概念至关重要。Log4j主要由三部分组成:Logger(日志器)、Appender(输出端)和Layout(布局)。Logger用于记录日志...

    log4j-manual

    手册中的"LOG4J快速入门"部分可能涵盖了以下几个关键知识点: 1. **配置文件**:log4j的配置主要通过`log4j.properties`或`log4j.xml`文件完成,这些文件定义了日志的级别、输出目的地和格式。例如,你可以设置`...

    Log4j入门指南入门教程

    ### Log4j入门指南知识点详解 #### 一、引言 在软件开发过程中,日志(Log)记录是一项不可或缺的功能。良好的日志管理不仅能帮助开发者快速定位问题所在,还能为后期的系统维护提供便利。本篇内容主要围绕Log4j进行...

    log4j(实例代码+文档)

    - "log4j从入门到详解.pdf":这是一份完整的Log4j教程,从基础概念到高级用法,覆盖了Log4j的各个方面,适合初学者和进阶学习者。 - "log4j.rar": 这可能是Log4j的源码或者其他相关资源的压缩包,解压后可能包含更多...

    log4j入门使用文档

    这篇入门文档适合初学者和需要快速查阅log4j基本用法的开发者。 1. **Log4j 的组件介绍** - **Loggers**:Loggers 是日志记录的核心组件,它们负责接收日志事件并决定是否应该处理这些事件。Loggers 有一个层次...

    总结的一些关于log4j的文章

    好文共欣赏: jboss下通过配置log4j.xml实现web应用的日志....Log4J快速入门.htm pwosboy -JavaEye技术社区.htm 将系统日志发布到多个文件.htm 请问怎么控制日志的输出啊.htm 怎样关闭Hibernate启动时的DEBUG信息.htm

    Log4j新手快速入门教程

    Log4j 新手快速入门教程 Log4j 是 Apache 的一个开源项目,通过在项目中使用 Log4J,我们可以控制日志信息输出到控制台、文件、GUI 组件、甚至是数据库中。我们可以控制每一条日志的输出格式,通过定义日志的输出...

    log4j学习资料

    **日志框架Log4j详解** 日志框架在软件开发中扮演着至关重要的角色,它提供了记录应用程序运行过程中的各种信息的功能,便于调试、...提供的示例代码和配置文件可以作为快速入门的参考,帮助你更好地理解和应用Log4j。

    Log4j相关资料

    例如,“log4j从入门到详解”可能包含了Log4j的基础概念介绍和简单示例;“log4j详解与实践”可能深入讲解了如何在实际项目中应用Log4j;“log4j学习笔记”可能是个人学习过程中的总结,包含了作者的一些理解和技巧...

    log4j 中文帮助文档 .pdf

    Log4j是一个非常流行的开源日志记录工具,它可以帮助开发者在Java应用程序中记录日志信息。...通过阅读这份中文帮助文档,开发者可以快速入门并掌握Log4j的使用方法,从而使日志记录工作更加高效和方便。

    C++log4cxx新手入门

    本文将详细讲解如何对C++新手入门Log4cxx,帮助初学者快速掌握这一工具。 首先,我们需要了解Log4cxx的基本架构。Log4cxx的核心概念包括Logger(日志器)、Appender(输出端)、Layout(布局)和Filter(过滤器)。...

Global site tag (gtag.js) - Google Analytics