一、Log4j介绍
原文地址:http://marsvaadin.iteye.com/blog/1362623
log4j是类似于java.util.logging的日志作用,即记录一些有用信息,是一个日志框架;
log4j == log for Java
日志框架的作用:
(1)函数参数是否正确;
(2)软件发布后,记录用户的每一步操作;
(3)记录程序运行出错位置;
log4j在http://logging.apache.org/log4j/1.2/download.html 中进行下载;
log4j的api文档在log4j/site/apidocs/index.html中;
log4j可以改变日志记录的形式比如HTML、Simple等;
log4j可以改变日志输出的目的地,比如File、DB等;
二、配置使用Log4j
原本是一个zip包,取出jar包,并在Eclipse的某个Project build path导入;
三、简单的使用Log4j
log4j需要配置文件log4j.properties进行配置,log4j.properties位于src目录 下;
log4j.properties规则:
(1)键值对;
(2)#代表注释;
(3)不支持中文;
Log4jDemo.java
- package org.impl;
- import org.apache.log4j.Logger;
- public class Log4jDemo {
- public static void main(String args[]){
- Logger logger = Logger.getLogger(org.impl.Log4jDemo.class);
- logger.debug("debug");
- logger.info("info");
- logger.error("error");
- }
- }
package org.impl;
import org.apache.log4j.Logger;
public class Log4jDemo {
public static void main(String args[]){
Logger logger = Logger.getLogger(org.impl.Log4jDemo.class);
logger.debug("debug");
logger.info("info");
logger.error("error");
}
}
log4j.properties
- log4j.rootLogger=debug,appender1
- log4j.appender.appender1=org.apache.log4j.ConsoleAppender
- log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
log4j.rootLogger=debug,appender1
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
显示结果:
- [main] DEBUG org.impl.Log4jDemo - debug
- [main] INFO org.impl.Log4jDemo - info
- [main] ERROR org.impl.Log4jDemo - error
[main] DEBUG org.impl.Log4jDemo - debug
[main] INFO org.impl.Log4jDemo - info
[main] ERROR org.impl.Log4jDemo - error
这样一个简单的log4j应用。
这个配置文件的意思是:
rootLogger表示最低显示等级,即显示debug等级及以上的信息;
appender1表示一个名字;
ConsoleAppender表示输出到控制台,如果想要输出到文件,则可以使用FileAppender并制定文件名称;
TTCCLayout是一种布局方式;
debug等级表示在编译开发阶段的信息;
error等级表示错误信息;
info等级表示一般的信息;
如果看到如下信息:
- log4j:WARN No appenders could be found for logger (org.impl.Log4jDemo).
- log4j:WARN Please initialize the log4j system properly.
- log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
log4j:WARN No appenders could be found for logger (org.impl.Log4jDemo).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
表示配置文件位置不正确,应该放到src目录下!
四、逐步了解Log4j
任务1:将日志输出到指定文件
只需要修改配置文件即可,配置文件修改为:
- log4j.rootLogger=debug,appender1
- log4j.appender.appender1=org.apache.log4j.FileAppender
- log4j.appender.appender1.File=./java0.log
- log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
log4j.rootLogger=debug,appender1
log4j.appender.appender1=org.apache.log4j.FileAppender
log4j.appender.appender1.File=./java0.log
log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
这样就指定了日志输出到工程目录下的java0.log文件中;
注意:这个日志文件时追加类型的。
任务2:将日志输出以HTML格式输出(效果很好!)
修改配置文件为:
- log4j.rootLogger=debug,appender1
- log4j.appender.appender1=org.apache.log4j.FileAppender
- log4j.appender.appender1.File=./java0.html
- log4j.appender.appender1.layout=org.apache.log4j.HTMLLayout
log4j.rootLogger=debug,appender1 log4j.appender.appender1=org.apache.log4j.FileAppender log4j.appender.appender1.File=./java0.html log4j.appender.appender1.layout=org.apache.log4j.HTMLLayout
即可;
任务3:同时输出到控制台和文件
修改配置文件为:
- log4j.rootLogger=debug,appender1,appender2
- log4j.appender.appender1=org.apache.log4j.FileAppender
- log4j.appender.appender1.File=./log4j.HTML
- log4j.appender.appender1.layout=org.apache.log4j.HTMLLayout
- log4j.appender.appender2=org.apache.log4j.ConsoleAppender
- log4j.appender.appender2.layout=org.apache.log4j.SimpleLayout
log4j.rootLogger=debug,appender1,appender2
log4j.appender.appender1=org.apache.log4j.FileAppender
log4j.appender.appender1.File=./log4j.HTML
log4j.appender.appender1.layout=org.apache.log4j.HTMLLayout
log4j.appender.appender2=org.apache.log4j.ConsoleAppender
log4j.appender.appender2.layout=org.apache.log4j.SimpleLayout
五、Log4j核心组件
1.Logger
设定了显示日志的级别;
常用级别为debug,info,warn,error,fatal;
2.Appender
设定了日志的输出目的;
常用有:
(1)ConsoleAppender
(2)FileAppender
(3)DailyRollingFileAppender 一天换一个文件
(4)JdbcAppender 输出到数据库
3.Layout
设定日志的内容格式;
常用有:
(1)HTMLLayout;
(2)TTCCLayout;
(3)PatternLayout;制定布局样式
如果要设置PatternLayout,必须将配置文件修改为以下形式:
- log4j.rootLogger=debug,appender1,appender2
- log4j.appender.appender1=org.apache.log4j.FileAppender
- log4j.appender.appender1.File=./log4j.HTML
- log4j.appender.appender1.layout=org.apache.log4j.HTMLLayout
- log4j.appender.appender2=org.apache.log4j.ConsoleAppender
- log4j.appender.appender2.layout=org.apache.log4j.PatternLayout
- log4j.appender.appender2.layout.ConversionPattern= 格式名称
log4j.rootLogger=debug,appender1,appender2
log4j.appender.appender1=org.apache.log4j.FileAppender
log4j.appender.appender1.File=./log4j.HTML
log4j.appender.appender1.layout=org.apache.log4j.HTMLLayout
log4j.appender.appender2=org.apache.log4j.ConsoleAppender
log4j.appender.appender2.layout=org.apache.log4j.PatternLayout
log4j.appender.appender2.layout.ConversionPattern= 格式名称
格式形式如下:
%p:日志优先级(debug、info)
%t:输出日志的线程名;
%d{yyyy-MM-dd HH:mm:ss}:时间;
%c:所属类名;
%r:日志输出所花时间;
%n:换行;
%l:日志所在行;
%m:信息;
%M:方法;
比如:
%r [%t] -%l %p %d{yyyy-MM-dd HH:mm:ss} %n
显示如下:
3 [main] -org.impl.Log4jDemo.main(Log4jDemo.java:10) ERROR 2012-01-11 17:11:37
3表示所花时间;
[main]表示线程;
org.impl.Log4jDemo.main(Log4jDemo.java:10) 表示 %l ;
ERROR表示%p;
相关推荐
本篇文章将深入探讨Log4j的入门知识和核心特性。 ### 1. Log4j简介 Log4j是基于Java的日志框架,最初由Ceki Gülcü设计,旨在提供灵活且高效的日志记录解决方案。Log4j提供了丰富的配置选项,可以控制日志信息的...
总结起来,Log4j是一个强大的日志框架,它提供了灵活的日志配置、多种输出方式以及丰富的日志级别控制。通过理解Log4j的基本组件和配置,开发者可以有效地利用它来监控和调试应用程序,同时保证系统的稳定性和安全性...
### Log4J 最简入门详解 #### 一、Log4J简介与基本概念 Log4J是一款非常流行的Java日志框架,由Apache软件基金会提供。它可以帮助开发者在应用程序中记录日志信息,这对于调试和维护应用程序来说至关重要。本文将...
**标题:“Log4j入门配置”** 在Java开发中,日志记录是不可或缺的一部分,它帮助开发者追踪程序运行状态、定位错误和调试问题。Log4j是Apache组织提供的一款强大的日志框架,广泛应用于各种Java项目。这篇博客将...
### Log4j入门指南知识点详解 #### 一、引言 在软件开发过程中,日志(Log)记录是一项不可或缺的功能。良好的日志管理不仅能帮助开发者快速定位问题所在,还能为后期的系统维护提供便利。本篇内容主要围绕Log4j进行...
#### 四、Log4j的使用 在代码中使用Log4j非常简单,只需要通过`LogFactory.getLog()`方法获取对应的Logger实例即可。例如: ```java protected final Log log = LogFactory.getLog(getClass()); if (log....
Log4j是Apache开源组织提供的一款强大的日志框架,它为Java应用程序提供了灵活的日志处理机制。本篇文章将深入讲解如何在Java SE环境中使用Log4j进行“Hello, World!”的入门实践。 首先,我们需要理解Log4j的基本...
### Log4j 最简入门详解 #### 一、Log4j简介及基本概念 Log4j 是一个由 Apache 提供的开源项目,用于为 Java 应用程序提供灵活且强大的日志记录功能。由于其易用性和灵活性,Log4j 成为了 Java 开发者们非常熟悉的...
在项目源代码的同级目录下,创建一个名为 `log4j.properties` 的文件,这是Log4j默认的配置文件名。在此文件中,你可以定义日志的输出方式和格式。 2.2 设置日志内容 在 `log4j.properties` 文件中,你可以设置...
《Java日志记录:Log4j入门教程》 在Java编程中,日志记录是一项至关重要的任务,它有助于开发者在程序运行过程中跟踪错误、调试代码以及监控系统性能。Log4j是Apache软件基金会开发的一个开源日志框架,因其强大的...
### LOG4J快速入门 #### 一、简介与安装配置 Log4j 是一个非常流行的 Java 日志框架,由 Apache 软件基金会提供。它能够帮助开发者在应用程序中记录日志信息,这对于调试程序、追踪错误以及进行系统监控等方面具有...
总结来说,Log4j是一个强大而灵活的日志框架,它的使用能够提升软件的可维护性和稳定性。通过理解和熟练掌握Log4j,开发者可以更有效地进行问题定位和系统监控。提供的示例代码和配置文件可以作为快速入门的参考,...
#### 三、Log4j快速入门 1. **添加依赖** 需要在项目的`lib`目录下加入`log4j-1.x.x.jar`,或者通过Maven、Gradle等方式添加依赖。 ```xml <groupId>log4j <artifactId>log4j <version>1.2.17 ``` 2. ...
例如,“log4j从入门到详解”可能包含了Log4j的基础概念介绍和简单示例;“log4j详解与实践”可能深入讲解了如何在实际项目中应用Log4j;“log4j学习笔记”可能是个人学习过程中的总结,包含了作者的一些理解和技巧...
总结来说,Log4j 是一个强大的日志框架,它的灵活性和可配置性使得开发者能够轻松地管理和监控应用程序的日志,从而提高问题定位和调试效率。通过理解和实践 Log4j 的各个组件及其用法,开发者可以有效地利用日志来...
好文共欣赏: jboss下通过配置log4j.xml实现web应用的日志....Log4J快速入门.htm pwosboy -JavaEye技术社区.htm 将系统日志发布到多个文件.htm 请问怎么控制日志的输出啊.htm 怎样关闭Hibernate启动时的DEBUG信息.htm
提供的资源中包含`log4j从入门到详解.pdf`,这是一个详细的Log4j教程,涵盖了从基础概念到高级特性的全面讲解。此外,`log4j配置.doc`可能是具体的配置示例或注意事项,而`log4j-1.2.13.jar`则是Log4j的库文件,用于...
总结以上内容,Log4j 2 的用户指南涵盖了从入门到高级配置的各个方面,旨在帮助开发者理解和应用这个日志库来优化 Java 应用程序的性能,实现高效的问题追踪和记录。无论是通过传统配置文件还是通过编程方式,用户都...