`
fenxiang
  • 浏览: 6823 次
社区版块
存档分类
最新评论

log4j入门

阅读更多

log4j入门

        log4j目前是使用最多的日志组件,据说所有日志组件中性能最高的,现在我把简单的使用说一下。

        log4j分1.x和2.x,本文针对1.x,2.x的使用笔者会在有空的时候进行讲解。

        log4j使用比较简单,需要三步:

        1、导入jar包

                log4j-1.2.17.jar

        2、编写log4j.properties或者log4j.xml

#一、配置文件
#Log4J配置文件的基本格式如下:
#配置根Logger
#	log4j.rootLogger =   [ level ]   , appenderName1 , appenderName2 , …
#
#配置日志信息输出目的地Appender
#	log4j.appender.appenderName =  fully.qualified.name.of.appender.class 
#  log4j.appender.appenderName.option1 =  value1 
#  … 
#  log4j.appender.appenderName.optionN =  valueN 
#
#配置日志信息的格式(布局)
#	log4j.appender.appenderName.layout =  fully.qualified.name.of.layout.class 
#  log4j.appender.appenderName.layout.option1 =  value1 
#  … 
#  log4j.appender.appenderName.layout.optionN =  valueN  


#其中 [level] 是日志输出级别,共有5级:
#
#FATAL     0  
#ERROR     3  
#WARN      4  
#INFO      6  
#DEBUG     7 



#Appender为日志输出目的地,Log4j提供的appender有以下几种
#org.apache.log4j.ConsoleAppender(控制台)
#org.apache.log4j.FileAppender(文件)
#org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
#org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
#org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方


#Layout:日志输出格式,Log4j提供的layout有以下几种:
#
#org.apache.log4j.HTMLLayout(以HTML表格形式布局)
#org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
#org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
#org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

#打印参数: Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,如下:
#%m   输出代码中指定的消息
#%p   输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL 
#%r   输出自应用启动到输出该log信息耗费的毫秒数 
#%c   输出所属的类目,通常就是所在类的全名 
#%t   输出产生该日志事件的线程名 
#%n   输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n” 
#%d   输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy-MM-dd HH:mm:ss,SSS},输出类似:2002年10月18日 22 : 10 : 28, 921  
#%l   输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10 ) 






###-------------------------DEBUG级别控制台输出(start)-------------------------###
log4j.appender.A1.Threshold=DEBUG
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=[%p] [%l]-[%t:%r] [%-d{yyyy-MM-dd HH:mm:ss,SSS}] %m %n
###-------------------------DEBUG级别控制台输出(end)---------------------------###

###-------------------------INFO级别控制台输出(start)--------------------------###
log4j.appender.A2.Threshold=INFO
log4j.appender.A2=org.apache.log4j.ConsoleAppender
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=[%p] [%l]-[%t:%r] [%-d{yyyy-MM-dd HH:mm:ss,SSS}] %m %n
###-------------------------INFO级别控制台输出(end)----------------------------###

###-------------------------ERROR级别文件输出(start)--------------------------###
log4j.appender.A3.Threshold=ERROR
log4j.appender.A3=org.apache.log4j.RollingFileAppender
log4j.appender.A3.File=${webapp.root}/logs/webapp.log
log4j.appender.A3.MaxFileSize=512KB
log4j.appender.A3.MaxBackupIndex=10
log4j.appender.A3.Append=true
log4j.appender.A3.layout=org.apache.log4j.PatternLayout
log4j.appender.A3.layout.ConversionPattern=[%p] [%l]-[%t:%r] [%-d{yyyy-MM-dd HH:mm:ss,SSS}] %m %n
###-------------------------ERROR级别文件输出(end)----------------------------###

###-------------------------appender:DB_LOG数据库记录输出(start)----------------------------###
###----------------- 日志数据库,需要有日志数据库和日志表 -----------------###
log4j.appender.DB_LOG=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DB_LOG.URL=jdbc:mysql://127.0.0.1:3306/gwfx_log4j_log?useUnicode=true&characterEncoding=utf-8
log4j.appender.DB_LOG.user=root
log4j.appender.DB_LOG.password=root
log4j.appender.DB_LOG.driver=com.mysql.jdbc.Driver
log4j.appender.DB_LOG.bufferSize=1
log4j.appender.DB_LOG.Threshold=ERROR
log4j.appender.DB_LOG.layout=org.apache.log4j.PatternLayout
log4j.appender.DB_LOG.layout.ConversionPattern=insert into log4j_log (log_date, log_time, log_level, log_class, log_thread, log_logger, log_message) values ('%d{yyyy-MM-dd}', '%d{HH:mm:ss}', '%p', '%c', '%t', '%l', '%m')
log4j.appender.DB_LOG.filter.F1=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.DB_LOG.filter.F1.LevelMin=WARN
log4j.appender.DB_LOG.filter.F1.LevelMax=FATAL
###-------------------------appender:DB_LOG数据库记录输出(end)----------------------------###

###-------------------------SSH框架输出(start)----------------------------###
log4j.logger.java.sql=ERROR
log4j.logger.org.hibernate=ERROR
log4j.logger.org.springframework=ERROR
log4j.logger.com.opensymphony.xwork2=ERROR
log4j.logger.org.apache.struts2=ERROR
###-------------------------SSH框架输出(end)------------------------------###

###-------------------------rootLogger-------------------------###
#log4j.logger.com=INFO
#log4j.rootLogger=DEBUG,A1,A3,DB_LOG
log4j.rootLogger=INFO,A2,A3,DB_LOG

 

        3、在java代码中使用

import org.apache.log4j.Logger;

public class Log4jTest {
	private static final Logger log = Logger.getLogger(Log4jTest.class); 
	public static void main(String[] args) {
		log.debug("debug打印");
		log.info("info打印");
		log.error("error打印");
		log.fatal("fatal打印");
	}
}

         打印结果

         [ERROR] [log4j.Log4jTest.main(Log4jTest.java:10)]-[main:0] [2015-03-18 10:39:07,766] error打印 

         [FATAL] [log4j.Log4jTest.main(Log4jTest.java:11)]-[main:20] [2015-03-18 10:39:07,786] fatal打印 

 

1
2
分享到:
评论

相关推荐

    log4j入门、详解

    本篇文章将深入探讨Log4j的入门知识和核心特性。 ### 1. Log4j简介 Log4j是基于Java的日志框架,最初由Ceki Gülcü设计,旨在提供灵活且高效的日志记录解决方案。Log4j提供了丰富的配置选项,可以控制日志信息的...

    log4j入门详解

    ### Log4j入门详解 #### 1. Log4j简介 Log4j是Apache软件基金会下的一个开源项目,它提供了一种强大且灵活的方式来管理和控制应用程序的日志记录。相较于简单的打印语句,Log4j提供了更为高级的功能,比如能够根据...

    springboot整合log4j入门程序

    # springboot整合log4j入门程序## 1. 环境springboot 1.3.8.RELEASE + spring-boot-starter-log4j + jdk8## 2. 源码说明:- SpringBoot只有1.3和1.3.x以下版本才支持log4j,1.3.x以上版本只支持log4j2(对于log4j来...

    log4j入门、详解.pdf

    ### Log4j 入门与详解 #### 一、Log4j简介 Log4j是Apache组织提供的一个开源日志框架,它可以帮助开发者轻松地在应用程序中实现日志记录功能。传统的日志记录方式通常是在代码中直接使用`System.out.println()`等...

    log4j 入门程序

    **Log4j 入门程序详解** Log4j 是 Apache 提供的一款强大的日志记录工具,广泛应用于 Java 开发环境中。它提供了灵活的日志配置,允许开发者根据需求选择不同的输出级别,如DEBUG、INFO、WARN、ERROR 和 FATAL,...

    log4j入门到详解.pdf

    log4j入门到详解.pdf。。。

    Log4j入门学习笔记

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

    Log4j 入门到详解[推荐].pdf

    ### Log4j从入门到详解知识点汇总 #### 1. Log4j简介 Log4j是Apache的一个开源项目,主要用于实现日志记录功能。通过使用Log4j,开发者可以非常方便地控制日志信息的输出目的地(如控制台、文件等)、每条日志的...

    (zt)Commons-logging + Log4j 入门指南

    《Commons-Logging + Log4j 入门指南》 在Java编程中,日志记录是必不可少的一部分,它有助于调试、性能分析以及故障排查。Apache Commons Logging和Log4j是两个广泛使用的日志框架,本指南将深入讲解如何将它们...

    log4j入门介绍和配置方式

    Log4j 入门介绍和配置方式 Log4j 是一个流行的 Java 日志记录工具,能够帮助开发人员调试和分析程序。下面是 Log4j 的基本概念和配置方式。 一、Log4j 概念 Log4j 中有三个主要的组件:Logger、Appender 和 ...

    Log4j入门配置

    **标题:“Log4j入门配置”** 在Java开发中,日志记录是不可或缺的一部分,它帮助开发者追踪程序运行状态、定位错误和调试问题。Log4j是Apache组织提供的一款强大的日志框架,广泛应用于各种Java项目。这篇博客将...

    log4j 入门

    Log4j是Java编程语言中广泛使用的日志记录框架,它提供了一套强大且灵活的日志记录机制,使得开发者能够方便地跟踪和调试应用程序的运行状态。相较于Java内置的Logging API,Log4j拥有更高的可配置性和性能,因此...

    log4j入门与精通教程

    ### log4j入门与精通教程 #### 一、引言 在软件开发过程中,日志记录是一项非常重要的功能。它不仅能够帮助开发者更好地理解和追踪应用程序的行为,还能够在系统出现故障时提供关键信息以便进行问题诊断。传统的...

    Log4j入门指南入门教程

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

    log4j入门配置

    Log4j 入门配置 Log4j 是 Apache 的一个开放源代码项目,通过使用 Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI 组件、甚至是套接口服务器、NT 的事件记录器、UNIX Syslog 守护进程等;我们也可以...

    Log4j入门文档

    ### Log4j入门知识点详解 #### 一、Log4j简介 Log4j是一个开源的日志框架,由Apache软件基金会负责维护。它提供了一种灵活的日志记录机制,支持多种输出方式和格式化选项,广泛应用于Java应用的开发中。 #### 二、...

Global site tag (gtag.js) - Google Analytics