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打印
相关推荐
本篇文章将深入探讨Log4j的入门知识和核心特性。 ### 1. Log4j简介 Log4j是基于Java的日志框架,最初由Ceki Gülcü设计,旨在提供灵活且高效的日志记录解决方案。Log4j提供了丰富的配置选项,可以控制日志信息的...
### Log4j入门详解 #### 1. Log4j简介 Log4j是Apache软件基金会下的一个开源项目,它提供了一种强大且灵活的方式来管理和控制应用程序的日志记录。相较于简单的打印语句,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 入门与详解 #### 一、Log4j简介 Log4j是Apache组织提供的一个开源日志框架,它可以帮助开发者轻松地在应用程序中实现日志记录功能。传统的日志记录方式通常是在代码中直接使用`System.out.println()`等...
**Log4j 入门程序详解** Log4j 是 Apache 提供的一款强大的日志记录工具,广泛应用于 Java 开发环境中。它提供了灵活的日志配置,允许开发者根据需求选择不同的输出级别,如DEBUG、INFO、WARN、ERROR 和 FATAL,...
log4j入门到详解.pdf。。。
【Log4j入门学习笔记】 Log4j是一个广泛使用的Java日志框架,旨在解决程序开发中日志记录的复杂性和可维护性问题。它提供了一种灵活的方式来控制日志信息的输出格式、输出级别和输出位置,使得在调试、监控和故障...
### Log4j从入门到详解知识点汇总 #### 1. Log4j简介 Log4j是Apache的一个开源项目,主要用于实现日志记录功能。通过使用Log4j,开发者可以非常方便地控制日志信息的输出目的地(如控制台、文件等)、每条日志的...
《Commons-Logging + Log4j 入门指南》 在Java编程中,日志记录是必不可少的一部分,它有助于调试、性能分析以及故障排查。Apache Commons Logging和Log4j是两个广泛使用的日志框架,本指南将深入讲解如何将它们...
Log4j 入门介绍和配置方式 Log4j 是一个流行的 Java 日志记录工具,能够帮助开发人员调试和分析程序。下面是 Log4j 的基本概念和配置方式。 一、Log4j 概念 Log4j 中有三个主要的组件:Logger、Appender 和 ...
**标题:“Log4j入门配置”** 在Java开发中,日志记录是不可或缺的一部分,它帮助开发者追踪程序运行状态、定位错误和调试问题。Log4j是Apache组织提供的一款强大的日志框架,广泛应用于各种Java项目。这篇博客将...
Log4j是Java编程语言中广泛使用的日志记录框架,它提供了一套强大且灵活的日志记录机制,使得开发者能够方便地跟踪和调试应用程序的运行状态。相较于Java内置的Logging API,Log4j拥有更高的可配置性和性能,因此...
### log4j入门与精通教程 #### 一、引言 在软件开发过程中,日志记录是一项非常重要的功能。它不仅能够帮助开发者更好地理解和追踪应用程序的行为,还能够在系统出现故障时提供关键信息以便进行问题诊断。传统的...
### Log4j入门指南知识点详解 #### 一、引言 在软件开发过程中,日志(Log)记录是一项不可或缺的功能。良好的日志管理不仅能帮助开发者快速定位问题所在,还能为后期的系统维护提供便利。本篇内容主要围绕Log4j进行...
Log4j 入门配置 Log4j 是 Apache 的一个开放源代码项目,通过使用 Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI 组件、甚至是套接口服务器、NT 的事件记录器、UNIX Syslog 守护进程等;我们也可以...
### Log4j入门知识点详解 #### 一、Log4j简介 Log4j是一个开源的日志框架,由Apache软件基金会负责维护。它提供了一种灵活的日志记录机制,支持多种输出方式和格式化选项,广泛应用于Java应用的开发中。 #### 二、...