- 浏览: 265215 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (298)
- 工作感悟 (6)
- java基础 (23)
- 计算机硬件知识 (1)
- 计算机网络知识 (2)
- Struts (3)
- Srping (4)
- hibernate (0)
- ibatis (0)
- webservice (4)
- Thread (22)
- maven (5)
- ubuntu/linux/centos/redhat (46)
- SSO (1)
- ESB (0)
- 工作流 (0)
- oracle (15)
- 云计算 (1)
- hadoop (1)
- nosql (0)
- mysql (3)
- sqlserver (0)
- jquery (0)
- 分布式 (3)
- 集群 (0)
- 设计模式 (2)
- EJB (0)
- map (0)
- cache (5)
- Niginx+varnish+squid+Ats (14)
- Apache (0)
- 工作/职业规划 (0)
- Scala & Groovy (1)
- English (4)
- 数据结构/算法 (6)
- 开发工具 (5)
- 测试 (2)
- Exception (0)
- 定时器 (3)
- j2ee (2)
- 部署 (1)
- Openssl (1)
- 操作系统 (3)
- kvm (13)
- libvirt (5)
- PostgreSql (5)
- 虚拟化 (3)
- 概念理解 (1)
- virt-manager (1)
- RESTful (3)
- 其它 (4)
- ssh2 (14)
- windows (1)
- 房产 (2)
- svn (1)
- 手机 (1)
- ant (1)
- flume (2)
- sqoop (1)
- fastdfs (5)
- log4j (1)
- SPDY (1)
- mongodb (2)
- MQ (2)
- Mina (1)
- dubbo (4)
- PMP (1)
- Webshpere (2)
- jvm (1)
- Btrace (1)
- zookeeper (7)
- UML (1)
- spring cloud (6)
- spring boot (5)
- storm (0)
- 软件管理 (1)
- elasticsearch (1)
- 协议 (2)
- docker (1)
- 性能 (2)
- 安全 (1)
- 代码规范 (1)
- mqtt (1)
- lombok (1)
- 车联网 (1)
- kafka (1)
最新评论
Log4j基本使用方法
Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、 INFO、DEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。
一、定义配置文件
其实您也可以完全不使用配置文件,而是在代码中配置Log4j环境。但是,使用配置文件将使您的应用程序更加灵活。Log4j支持两种配置文件格式,一种是XML格式的文件,一种是Java特性文件(键=值)。下面我们介绍使用Java特性文件做为配置文件的方法:
1.配置根Logger,其语法为:
log4j.rootLogger = [ level ] , appenderName, appenderName, …
其中,level 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。 appenderName就是指B日志信息输出到哪个地方。您可以同时指定多个输出目的地。
2.配置日志信息输出目的地Appender,其语法为:
log4j.appender.appenderName = fully.qualified.name.of.appender.class
log4j.appender.appenderName.option1 = value1
…
log4j.appender.appenderName.option = valueN
其中,Log4j提供的appender有以下几种:
org.apache.log4j.ConsoleAppender(控制台),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
3.配置日志信息的格式(布局),其语法为:
log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
log4j.appender.appenderName.layout.option1 = value1
…
log4j.appender.appenderName.layout.option = valueN
其中,Log4j提供的layout有以e几种:
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平台为“rn”,Unix平台为“n”
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)
二、在代码中使用Log4j
1.得到记录器
使用Log4j,第一步就是获取日志记录器,这个记录器将负责控制日志信息。其语法为:
public static Logger getLogger( String name)
通过指定的名字获得记录器,如果必要的话,则为这个名字创建一个新的记录器。Name一般取本类的名字,比如:
static Logger logger = Logger.getLogger ( ServerWithLog4j.class.getName () )
2.读取配置文件
当获得了日志记录器之后,第二步将配置Log4j环境,其语法为:
BasicConfigurator.configure (): 自动快速地使用缺省Log4j环境。
PropertyConfigurator.configure ( String configFilename) :读取使用Java的特性文件编写的配置文件。
DOMConfigurator.configure ( String filename ) :读取XML形式的配置文件。
3.插入记录信息(格式化日志信息)
当上两个必要步骤执行完毕,您就可以轻松地使用不同优先级别的日志记录语句插入到您想记录日志的任何地方,其语法如下:
Logger.debug ( Object message ) ;
Logger.info ( Object message ) ;
Logger.warn ( Object message ) ;
Logger.error ( Object message ) ;
Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、 INFO、DEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。
一、定义配置文件
其实您也可以完全不使用配置文件,而是在代码中配置Log4j环境。但是,使用配置文件将使您的应用程序更加灵活。Log4j支持两种配置文件格式,一种是XML格式的文件,一种是Java特性文件(键=值)。下面我们介绍使用Java特性文件做为配置文件的方法:
1.配置根Logger,其语法为:
log4j.rootLogger = [ level ] , appenderName, appenderName, …
其中,level 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。 appenderName就是指B日志信息输出到哪个地方。您可以同时指定多个输出目的地。
2.配置日志信息输出目的地Appender,其语法为:
log4j.appender.appenderName = fully.qualified.name.of.appender.class
log4j.appender.appenderName.option1 = value1
…
log4j.appender.appenderName.option = valueN
其中,Log4j提供的appender有以下几种:
org.apache.log4j.ConsoleAppender(控制台),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
3.配置日志信息的格式(布局),其语法为:
log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
log4j.appender.appenderName.layout.option1 = value1
…
log4j.appender.appenderName.layout.option = valueN
其中,Log4j提供的layout有以e几种:
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平台为“rn”,Unix平台为“n”
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)
二、在代码中使用Log4j
1.得到记录器
使用Log4j,第一步就是获取日志记录器,这个记录器将负责控制日志信息。其语法为:
public static Logger getLogger( String name)
通过指定的名字获得记录器,如果必要的话,则为这个名字创建一个新的记录器。Name一般取本类的名字,比如:
static Logger logger = Logger.getLogger ( ServerWithLog4j.class.getName () )
2.读取配置文件
当获得了日志记录器之后,第二步将配置Log4j环境,其语法为:
BasicConfigurator.configure (): 自动快速地使用缺省Log4j环境。
PropertyConfigurator.configure ( String configFilename) :读取使用Java的特性文件编写的配置文件。
DOMConfigurator.configure ( String filename ) :读取XML形式的配置文件。
3.插入记录信息(格式化日志信息)
当上两个必要步骤执行完毕,您就可以轻松地使用不同优先级别的日志记录语句插入到您想记录日志的任何地方,其语法如下:
Logger.debug ( Object message ) ;
Logger.info ( Object message ) ;
Logger.warn ( Object message ) ;
Logger.error ( Object message ) ;
发表评论
-
SequenceInputStream 合并流与切割流
2017-09-27 15:06 431将多个流合并成一个流 SequenceInputStrea ... -
java io 之管道(PipedOutputStream和PipedInputStream)的简介,源码分析和示例
2017-09-27 10:39 299java 管道介绍 在java中, ... -
Java通过Executors提供四种线程池
2017-09-27 10:21 467Java通过Executors提供四种线程池,分别为: new ... -
Java同步注解(Annotation)解释
2017-09-18 18:18 1039JDK 5.0 以后增加了注解。就是@后面加一个名称。有其自身 ... -
url参数中出现+、空格、=、%、&、#等字符的解决办法
2017-03-08 15:31 596url出现了有+,空格,/,?,%,#,&,=等特殊符 ... -
Eclipse远程调试之Socket Attach与Socket Listen
2014-08-21 13:52 1691打个比方,被远程debug/监视 的进程就是一个风度翩翩的美少 ... -
关于java用jni调用 dll动态库Can't find dependent libraries错误的解决
2014-08-21 08:56 12311.package com.bsp.zauto.commo ... -
java 远程调试备忘
2013-12-11 16:45 874远程调试java程序 http://hi.baidu.com ... -
[转贴]System.getProperty()参数大全
2013-11-20 15:39 493一直做Web应用一般不会用到这些东西,今天在搞一个代码生成器的 ... -
Java Daemon线程
2013-09-05 13:27 617所谓守护线程就是运行 ... -
DelayQueue队列研究
2013-08-07 15:40 6731.DelayQueue 是一个无界的BlockingQue ... -
java 原语
2013-07-18 13:20 1185介绍 操作系统用语范畴 ... -
精巧好用的DelayQueue
2013-07-03 11:13 666我们谈一下实际的场景吧。我们在开发中,有如下场景 a) 关闭 ... -
log4j的配置文件备份.[成功测试]
2013-06-25 14:29 9401.在项目的config目录下,新建配置文件 log4j.xm ... -
log4j的xml配置详细
2013-06-24 13:48 617这是log4j默认的配置,我们先熟悉一下 <!-- ... -
java 堆 栈
2013-06-21 16:53 603由String看Java堆栈问题,包括==以及equal()。 ... -
Java ThreadPoolExecutor思想介绍
2013-06-14 16:31 598一、简介 线程池类为 j ... -
JDK线程池的ThreadFactory
2013-06-14 16:10 798JDK线程池:Executors.newFixedThread ... -
java 中到底什么叫闭包
2013-03-26 13:24 1229什么是闭包 闭包的 ... -
java中的标签
2013-03-20 14:46 789Java中为了使程序结构更 ...
相关推荐
本文将详细介绍如何在Java中使用Log4j来记录日志,并将其写入数据库。 首先,我们需要了解Log4j的基本结构。一个简单的Log4j项目通常包含以下几个部分: 1. **配置文件**:Log4j的配置文件通常是`log4j.properties...
### Log4j日志框架基本使用详解 #### 一、Log4j概述 ...本文详细介绍了Log4j的基本使用方法,包括其核心组件的介绍、配置文件的示例以及简单的使用示例,希望能够帮助读者更好地理解和使用Log4j。
通过这个`java关于log4j打印日志demo`,我们可以学习到如何配置和使用Log4j,理解其工作原理,以及如何在实际项目中有效地利用日志系统。实践这个示例将帮助你更好地掌握Java日志记录的最佳实践。
Log4Qt是Qt框架下的一款日志记录库,它基于流行的Java日志库log4j设计,为C++开发者提供了一套强大、灵活的日志处理机制。本文将深入探讨Log4Qt日志管理的核心概念、功能特性以及如何在实际项目中有效应用。 一、...
**Java日志框架Log4j详解** 在Java编程中,日志记录是不可或缺的一部分,它帮助开发者追踪程序运行状态,定位错误,以及进行性能分析。Log4j是Apache组织开发的一个开源日志框架,它是Java日志处理领域的经典工具,...
### Java中log4j的使用方法详解 #### 一、log4j简介 Log4j是Apache的一个开源项目,用于实现日志记录功能。它提供了一种高度灵活的日志记录框架,可以方便地控制日志的输出级别、格式以及目标(如控制台、文件等)...
Log4j是一个广泛使用的日志记录框架,而Apache Kafka则是一个分布式流处理平台,常用于实时数据传输。当我们需要将Log4j的日志实时地发送到Kafka时,可以借助Kafka提供的Log4jAppender实现这一功能。现在,我们详细...
同样,你可以使用`log.Fatal`, `log.Warn`, `log.Info`, `log.Debug`等方法记录不同级别的日志信息。 通过这种方式,你可以在WPF应用中实现log4net的日志管理,每天生成一个新的日志文件,便于问题排查和性能监控。...
LOG4.net是一个强大的日志记录框架,源自Java世界的log4j,被广泛应用于.NET平台的软件开发中。它提供了一套灵活的日志记录方案,帮助开发者在应用程序中方便地记录调试信息、错误信息以及其他关键性日志数据。本...
Log4j2作为Java领域广泛使用的日志框架,提供了丰富的功能来满足这一需求。本文将详细介绍如何使用Log4j2实现日志数据脱敏。 一、Log4j2简介 Log4j2是Apache软件基金会开发的日志框架Log4j的升级版,它具有更高的...
本示例将详细介绍如何在Java项目中简洁地使用Log4j进行日志管理。 首先,我们需要在项目中引入Log4j的库。在描述中提到,你需要将`log4j-1.2.17.jar`添加到你的构建路径中。这通常可以通过IDE(如Eclipse或IntelliJ...
Log4j是Apache提供的一款广泛使用的日志框架,它提供了丰富的配置选项,允许开发者灵活地控制日志输出。当我们面对特定项目需求,比如需要自定义日志文件名和日志输出格式时,Log4j同样提供了相应的解决方案。 首先...
### Log4j中配置日志文件相对路径方法详解 #### 概述 在软件开发过程中,日志记录是一项重要的功能,它有助于开发者调试程序、监控应用程序的运行状态以及追踪问题。`Log4j`作为一款优秀的日志管理工具,被广泛应用...
4. **编写代码**:在Java代码中,你需要按照正常的log4j2使用方式调用日志记录方法。Log4j2会根据配置自动将日志发送到MongoDB。 5. **测试和优化**:集成完成后,通过运行应用程序并查看MongoDB中的日志记录来验证...
在这个场景中,我们使用了SLF4J(Simple Logging Facade for Java)作为日志抽象层,它为各种日志框架提供了统一的API,而SLF4J-log4j12-1.5.0.jar和slf4j-api-1.5.0.jar正是SLF4J与Log4j之间的桥梁,使得我们可以...
Log4z是一个专门为C++设计的日志记录库,其设计理念源于Java中的Log4j。Log4z以其简单易用和强大的功能,在C++开发中被广泛应用。 **一、Log4z的基本概念** 1. **日志级别**: Log4z支持多种日志级别,包括DEBUG、...
在使用 Apache Tomcat 作为服务器时,合理配置日志框架(如 Log4j)能够极大地提高开发效率和系统的可维护性。本文将详细介绍两种常见的 Log4j 配置方式:Tomcat 级别的统一日志管理和每个 web 应用分别配置 Log4j,...
在IT行业中,日志记录是调试和监控应用程序的关键部分,而Log4j是Java平台广泛使用的日志框架。本文将详细讨论如何解决Log4j日志文件出现的乱码问题。 首先,我们要理解Log4j的工作原理。Log4j允许开发者自定义日志...
这个例子通常包括了配置文件、初始化和使用日志的方法,可以帮助初学者快速理解和实践Log4net的日志记录功能。 总之,Log4net是一个强大且灵活的日志工具,适合各种.NET应用程序使用。通过合理配置和使用,我们可以...
在Java代码中使用Log4j非常简单,首先要获取一个Logger实例,然后通过调用相应级别的方法输出日志。例如: ```java import org.apache.log4j.Logger; public class MyClass { private static final Logger logger...