`
kungstriving
  • 浏览: 131857 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

log4j的使用

阅读更多

项目需要,否定了前期确定的使用JDK的Logging框架改用Log4J来完成日志功能,以前也使用log4j但是当时没有记录下来。现在把log4j的使用方法简单记录如下,以备日后所需。

log4j是一个Apache开源项目,其目前的最新版本为1.2,使用log4j最重要的就是它的配置文件log4j.properties,在你的项目目录下新建一个文件,命名为log4j.properties,最好是使用它的配置文件的样例文件(在它的下载安装包内有),需要配置的元素有

1.使用哪个级别来输出log信息

在程序中所需要输出的信息是分不同等级的,越高级别的信息则说明这个错误越严重,通过配置可以控制程序以那一等级输出,log4j的所有等级顺序是DEBUG < INFO < WARN < ERROR < FATAL,如果你配置你的log级别是INFO,则比INFO低的级别DEBUG便不会输出到log中(需要在程序编写过程中采用相对应的输出级别进行输出,才可以通过配置文件较好的控制)。例如在一般编程过程中都需要对程序进行调试,调试过程中需要输出一些信息来查看程序运行情况,这个级别应该是DEBUG级别的,

Logger.debug("This is debugging");

而对于程序运行过程中的异常则可以用ERROR级别的来输出,

catch(Exception e) {

  Logger.error(e.printStackTrace());

}

明白了吧,就是将程序的输出情况根据其严重情况分等级,通过配置文件可以控制在哪种情况下输出哪个等级的。

首先需要配置的是log4j.rootLogger这个元素,它配置的全局输出级别,同时还会指明log的输出方式。因为log4j支持对不同包、不同类的输出级别进行控制(也就是同一个项目中,不同package的log输出级别可以不同),而如果没有设置针对某特定包的输出级别,那么该包将采用全局输出级别进行输出。例如

包a.b

包a.c

配置有log4j.rootLogger=DEBUG,则该包都会使用DEBUG级别进行输出。

对于不同包的输出级别设置是采用log4j.logger这个元素来配置,后面跟上你要配置的包名即可,如需要配置上面的a.b这个包为INFO级别的,

log4j.logger.a.b=INFO

就就可以了

2.log信息输出到哪里

通过

log4j.rootLogger=DEBUG,stdout, disk

来实现,上面我就配置了两个输出目的地,一个叫做stdout,一个叫做disk,顾名思义一个输出到控制台上,一个输出文件中。那么如何规定其输出方式呢

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

这样就指定了stdout为控制台输出方式

log4j.appender.disk=org.apache.log4j.RollingFileAppender

指定了文件输出方式,更为详细的文件配置如下

log4j.appender.disk.File=./log/test.log
    log4j.appender.disk.MaxFileSize=100KB
    log4j.appender.disk.MaxBackupIndex=1

 

3.log信息输出的格式是怎么样的

采用默认的就可以

log4j.appender.disk.layout.ConversionPattern=%d %-5p [%t] %-17c{2} (%13F:%L) %3x - %m%n
    其输出了代码行数,调用方法等有用的信息。

 

最后,如何在程序中使用log4j呢?

其实有两步,一个是配置,另一个就是获取logger,然后就可以通过logger.info()等方法输出log信息了。

public class MyLog {

private static Logger logger = Logger.getLogger(HelloLog4j.class.getName()); //获取logger


 public static void main(String[] args) {
  // TODO Auto-generated method stub
  PropertyConfigurator.configure(args[0]); // 配置
  logger.info("hello test");  //输出log信息
  System.out.println("hello test");
  logger.debug("debuging");  //输出log信息
 }

}

 

最后还必须要提一下的就是另一个log框架

commons-logging

这也是apache的一个开源项目,但是它和其他的log框架可不一样,它的log功能的实现并不是很强大,只是最简单的基础功能,但是它的好处就是可以集合各个流行的log框架,而且对于log功能的使用更加简单方便。使用方法如下(以log4j的集成为例)

首先将log4j和commons-logging两个jar包导入工程路径,配置好log4j.properties配置文件,在程序中需要使用log的地方只需要写上下面的代码

private static Log log = LogFactory.getLog(YourClass.class);

然后便可以进行log输出了

它的配置都还在log4j.properties文件中进行,而且不需要显示的调用

PropertyConfigurator.configure(args[0]); // 配置
    这样的配置语句,是不是很方便啊!

 

在这里我只是很粗的大概说了一下,在今后使用到的时候看一下能记起来怎么用就达到目的了

分享到:
评论

相关推荐

    log4j使用教程(详解)

    Log4j是一款广泛使用的开源日志框架,由Apache软件基金会开发。本文将深入探讨Log4j的基本概念、配置与使用方法。 1. **什么是Log4j** Log4j是一个基于Java的日志记录工具,它提供了灵活的控制来记录日志信息,...

    log4j使用详解 j2EE

    #### 四、在代码中使用Log4j 要在代码中使用Log4j,首先需要获取一个Logger实例。 - **语法**:`public static Logger getLogger(String name)` - **示例**: ```java import org.apache.log4j.Logger; ...

    Log4j使用实例

    ### Log4j 使用实例详解 #### 一、Log4j简介 Log4j 是一个开源的日志记录框架,由 Apache 软件基金会提供。它允许开发者根据需求配置日志等级,并灵活选择日志信息的输出方式。Log4j 的核心组件包括 Logger、...

    log4j使用详细方法

    **日志框架Log4j详解** Log4j是Apache组织提供的一款开源的日志记录工具,广泛应用于Java开发中。...通过阅读提供的"log4j使用方法"文档,你将能更深入地了解Log4j的配置和使用技巧,为你的开发工作带来便利。

    log4j使用详解log4j使用详解

    ### Log4j 使用详解 #### 一、Log4j简介 Log4j 是 Apache 的一个开源项目,通过使用 Log4j,开发者能够控制日志信息的输出等级及去向,从而更加灵活地处理日志信息。它具有强大的功能,简单的配置,并且能够支持...

    log4j使用笔记

    #### 四、log4j 配置详解 1. **配置文件**: - `log4j.properties` 或 `log4j.xml` 文件用于定义 log4j 的配置规则。 - 配置文件通常放置在项目的根目录或者类路径下。 - 如果未指定配置文件的位置,则 log4j 会...

    log4j.rar log4j使用方法

    标题“log4j.rar log4j使用方法”暗示了我们要讨论的是一个关于log4j日志框架的压缩包文件,其中包含了如何使用log4j的指导资料。log4j是Java编程语言中广泛使用的开源日志记录工具,它允许开发者灵活地控制日志信息...

    log4j使用配置方法及项目中的应用

    ### log4j使用配置方法及项目中的应用 #### 概述与背景 在软件开发过程中,日志记录是一项至关重要的任务,它不仅帮助开发者监控代码执行状态,还为后续的故障排查、性能优化和安全审计提供了关键信息。传统的做法...

    log4j使用简介.txt

    ### log4j 使用简介 #### 一、Log4j 概述 Log4j 是一个由 Apache 提供的开源项目,专门用于实现日志记录功能。它为开发者提供了灵活的日志记录方式,允许通过多种不同的格式来记录每一条日志信息,并且能够将这些...

    Log4j使用手册

    以下是Log4j的核心组成部分、使用方法以及日志分级的详细解释。 1. **LOG4J组成**: - **Logger**:是Log4j的核心,负责决定哪些日志信息应该被记录和哪些应该被忽略。它根据预定义的级别来过滤日志,由`org....

    Log4j使用教程

    ### 四、使用Log4j 在Java代码中,我们可以使用以下方式调用Log4j记录日志: ```java import org.apache.log4j.Logger; public class MyClass { private static final Logger logger = Logger.getLogger(MyClass...

    apache log4j使用大全

    Apache Log4j 是一个广泛使用的开源日志框架,它为Java应用程序提供了强大的日志记录功能。Log4j 的主要优点在于它的灵活性和可配置性,允许开发者根据需要调整日志的输出目的地、格式以及级别。 **配置Log4j** ...

    log4j使用实例.zip

    这个"log4j使用实例.zip"压缩包包含了关于如何在Java项目中配置和使用Log4j的示例代码,非常适合Java后端初学者学习。 首先,Log4j的核心组件包括Logger、Appender和Layout。Logger是日志信息的生产者,负责生成...

    log4j使用手册和API chm格式

    "Log4j使用手册和API"则明确指出了文档的核心内容,Log4j是一个广泛使用的Java日志库,它的API提供了丰富的日志记录功能,包括不同级别的日志输出(如DEBUG, INFO, WARN, ERROR等)、自定义日志格式、日志分发等。...

    Java Log4j使用详解

    #### 四、使用Log4j ##### 4.1 概述 Log4j是另一个非常流行的Java日志框架,由Apache基金会维护。它比JCL更加强大,支持更多的特性,比如多级日志记录、动态日志文件配置等。Log4j的核心优势在于其灵活性和强大的...

    log4j使用总结

    Log4j 建议只使用四个级别,优先级从高到低分别是 ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。 在配置文件中,我们可以定义多个日志信息输出目的地,例如...

    log4j 使用介绍

    【log4j 使用介绍】 log4j 是一个广泛使用的 Java 日志框架,它提供了一种高效、灵活的方式来记录应用程序中的事件。这篇介绍旨在帮助初学者理解 log4j 的核心概念和使用方法。 **1. 简介** 日志记录在软件开发中...

    最详细的Log4j使用教程

    Log4j是一个广泛使用的Java日志框架,由ApacheJakarta项目开发。它为开发者提供了灵活且功能丰富的日志记录机制,使应用程序中的日志管理变得简单。本教程将深入介绍如何使用Log4j进行日志记录,包括配置、基本用法...

Global site tag (gtag.js) - Google Analytics