`
369540808
  • 浏览: 194355 次
文章分类
社区版块
存档分类
最新评论

Log4j的原理与使用

 
阅读更多

一、Log4j的组成

1. Logger组件(记录器组件负责产生日志)

2. Appender组件(信息通过Appender组件输出到目的地,控制台、文件等)

3. Layout组件(负责格式化输出的日志信息)

二、简单配置log4j.properties

详细配置文档下载地址: http://download.csdn.net/detail/u011631266/6542375

log4j.rootLogger=WARN,INFO,stdout,file

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

log4j.appender.stdout.layout.ConversionPattern=%-5p%d{yyyy-MM-dd(HH:mm:ss)} %c - %m%n

log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=F:/ch19.log
log4j.appender.file.Append=true
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%-5p%d{yyyy-MM-dd(HH:mm:ss)} %c - %m%n

#JDBC,此处创建的记录器相应的类或包下面有打印语句时才能记录日志
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

三、使用Log4j

1. 导入Log4j所需jar包

2. 得到日志记录器,继承于根记录器

static Logger logger = Logger.getLogger(Hello.class);

3. 读取配置文件(若log4j.properties放在项目的src下可省略此步)

String prefix = getServletContext().getRealPath("/"); //得到上下文路径在服务器上的真实路径

String file = getInitParameter("log4j-init-file"); //得到web.xml中配置文件的相对路径
if(file != null)
{
PropertyConfigurator.configure(prefix+file); //读取key-value形式的配置文件
}

//web.xml中 log4j-init-file 配置

<servlet>
<servlet-name>Hello</servlet-name>
<servlet-class>test.Hello</servlet-class>
<init-param>
<param-name>log4j-init-file</param-name>
<!--<param-value>WEB-INF/log4j.properties</param-value>-->
<!--<param-value>WEB-INF/jdbc.properties</param-value>-->
<param-value>WEB-INF/log4j.xml</param-value>
</init-param>
</servlet>

4. 插入记录日志的语句

//级别有DEBUG、INFO、WARN、ERROR、FATAL

logger.info("main");

logger.error(e.getMessage(),e);

分享到:
评论

相关推荐

    Log4j 基本原理

    但前段时间第一次用 struts 2 整合 hibernate 写一个小小的书店租赁管理系统时出了好些问题,输出语句添了又删,删了又添,搞得有点小郁闷,于是花了半个晚上学下 Log4j ,掌握了一点它的基本原理。

    Log4j详解,详细讲解log4j的使用,和原理

    Log4j详解,详细讲解log4j的使用,和原理

    Log4j简介 介绍log4j的原理和用法

    log4j的使用习惯,让每个类都拥有一个private static的Logger对象,用来输出该类中的全部日志信息 ,使用xml文件来完成对log4j环境的配置。在项目的main class中的静态初始化块里放log4j环境的配置代码。注意:在一...

    Log4j原理java控制台个性化输出加超链接标记

    log4j日志原理。日志输出的自实现。自己的日志框架,不需要使用任何框架和jar包。纯java代码实现日志输出到控制台和指定位置的文件。日志文件后缀名多元化。 下载后请评论,评论反积分。可加入QQ群135430763共同学习...

    apache log4j 日志系统实现原理.doc

    apache log4j 日志系统实现原理.doc,Apache Log4j 学习笔记 Apache Logging Project Homepage: http://logging.apache.org

    Log4j日志管理系统简单使用说明

     禁用与使用日志请求只是Log4j其中的一个小小的地方,Log4j日志系统允许把日志输出到不同的地方,如控制台(Console)、文件(Files)、根据天数或者文件大小产生新的文件、以流的形式发送到其它地方等等。...

    java project,java web project log4j使用源码

    本资源里面包含了在java project工程下如何使用log4j,在java web工程(servlet和struts2)下如何使用log4j,并且对log4j的加载机制,原理进行了详细的介绍和解释,代码部分也进行了详细的注释,值得你看看。

    Log4j2 RCE漏洞分析

    记录一下log4j2 RCE的原理

    log4j讲解源代码

    该文档包含了 log4j的原理讲解,jar包,以及实例,帮助初学者迅速上手,。。。

    log4j教程与手册

    log4j是Java的日志系统,此教程与手册讲述了log4j的原理、其包含的组件及配置,还包含log4j_api(可快速查找到你需要的信息)

    log4j帮助文档与使用手册

    这个文档资料描述了log4j API,它的独特的特性和设计原理。Log4j是由许多作者共同参与的开放源代码项目。它允许开发人员以任意的精细程度控制哪些日志说明被输出。通过使用外部的配置文件,可以在运行时配置它。最好...

    Kafka+Log4j实现日志集中管理

    Kafka及Log4j实现日志集中管理功能的相关程序代码,了解kafka工作原理

    Struts2 日志原理及配置方法(结合Log4j)

    NULL 博文链接:https://adrain-work-163-com.iteye.com/blog/1545091

    log4j2 自动删除过期日志文件的配置及实现原理

    主要介绍了log4j2 自动删除过期日志文件配置及实现原理解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

    log4j The Complete Manual (2002)

    一本全面介绍log4j原理,配置,使用的书。

    Log4j中文文档API

    这篇文章描述了Log4j的API、独一无二的特色和设计原理。Log4j是一个聚集了许多作者劳动成果的开源软件项目。它允许开发人眼以任意的粒度输出日志描述信息。它利用外部的配置文件,在运行时是完全可配置的。最厉害的...

    log4j配置方法和实例

    log4j.properties的具体配置方法和实例,其中有我自己总接的方法和下载的原理TXT文档,以及我自己写的实例,初学者还是可以参考的

    log6j:基于log5j的现代Java日志记录库

    Log6j在Log5j的基础上具有以下附加功能: Logback支持:Log5j默认情况下使用Log4j,但是现在无法仅使用Log4j来使用某些库(并且不可以,使用SLF4J也不理想)。 细节对象:Log6j支持在日志语句中添加可选的,任意的...

    Log4简明手册(配置)

    本文主要描述Log4j的API的唯一特性和它的设计原理。Log4j是一个基于许多作者的开放源码的项目。它允许开发员以任意的间隔来控制日志的输出。它通过设在外部的配置文件而达到运行时灵活的设置。最重要的是,Log4j有一...

    weblogic,log4j,druid,hibernate,spring,struts2连接泄露检测

    weblogic,log4j,druid,hibernate,spring,struts2,hutoolDb,Oracle连接池配置,连接泄露检测及简要原理说明 连接关了关,怎么用druid检测

Global site tag (gtag.js) - Google Analytics