Log4j由三个重要的组件构成:日志记录的优先级,日志记录的输出目的地,日志记录的输出格式。
日志信息的优先级从高到低有ERROR、WARN、INFO、DEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目
的地 指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。
写配置文件 (log4j.properties)
#配置文件
log4j.rootLogger=INFO, A1, A2
#setting for appender A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n
#setting for appender A2
log4j.appender. A2=org.apache.log4j.RollingFileAppender
log4j.appender. A2.File=example.log
log4j.appender. A2.MaxFileSize=100KB
log4j.appender. A2.MaxBackupIndex=1
log4j.appender. A2.layout=org.apache.log4j.PatternLayout
log4j.appender. A2.layout.ConversionPattern=%p %t %c - %m%n
注意:其中的log4j.appender必须都为小写
注释:
1.配置根Logger,其语法为:
log4j.rootLogger = [ level ] , appenderName, appenderName, …
其中,level 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只
使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中
相应级别的日志信息的开关。指定输出只显示比该级别以上的信息,所有比该级别低的信息都不会被显示。比如在这里定义了
INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。
appenderName就是指定日志信息输出到哪个地方。您可以同时指定多个输出目的地。
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有以下几种:
org.apache.log4j.HTMLLayout(以HTML表格形式布局),
org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
4.当layout为PatternLayout时,ConversionPattern的格式有下面选项:
%r: 自程序开始后消耗的毫秒数
%t: 表示日志记录请求生成的线程
%p: 表示日志语句的优先级
%r: 与日志请求相关的类别名称
%c: 信息所在的类名
%m%n: 表示消息的内容
以下是我做的例子;
分享到:
相关推荐
### log4j日志记录详解 #### 一、log4j简介 Log4j是由Apache组织提供的一个开源项目,主要用于实现日志记录功能。在现代软件开发中,特别是在企业级应用开发领域,日志记录是必不可少的一个环节。它能够帮助开发者...
"log4j日志记录对于exception的记录问题"这个话题涉及到如何有效地使用Log4j,一个广泛使用的开源日志框架,来处理异常情况。Log4j允许我们定制日志级别,格式,以及存储位置,以满足不同项目的需要。 首先,Log4j...
`log4j`是一个强大的、灵活的、可扩展的日志记录工具,其设计目标是提供一种使应用程序、库以及Java应用程序服务器进行日志记录的方法。它的主要优点包括: 1. **灵活性**:`log4j`允许开发者通过配置文件来控制...
log4j.jar log4j日志记录包
**Log4j:Java日志记录的首选工具** 在Java编程中,日志记录是调试、性能分析和问题排查不可或缺的一部分。Log4j是Apache软件基金会的一个开源项目,它为Java应用程序提供了一种灵活且强大的日志记录框架。Log4j自...
Log4j是Apache组织提供的一款开源的日志记录工具,它功能强大、灵活易用。本文将详细介绍如何在Java中使用Log4j来记录日志,并将其写入数据库。 首先,我们需要了解Log4j的基本结构。一个简单的Log4j项目通常包含...
压缩包中的"**lib**"目录可能包含Log4j的必要依赖库,比如`log4j.jar`,这是运行Log4j的日志记录功能所必需的。确保这些库文件被添加到Tomcat的`lib`目录,使得所有部署的应用都能访问Log4j。 综上所述,通过正确...
Log4j 是一个功能强大且广泛使用的日志记录工具,特别是在 SSM(Spring、Spring MVC、Mybatis)整合项目中,合理地配置 Log4j 对项目的日志记录和输出至关重要。本文将详细介绍 SSM 整合中的 Log4j 配置详情,帮助...
Log4j2是一款广泛使用的日志框架,它提供了灵活且高效的日志记录功能。本示例将详细介绍如何配置并使用Log4j2将日志信息记录到MySQL数据库中。 首先,我们要理解Log4j2的核心概念。Log4j2主要包括以下几个组件: 1...
在日常的 Web 开发中,日志记录对于调试问题、监控系统状态以及后期维护来说至关重要。在使用 Apache Tomcat 作为服务器时,合理配置日志框架(如 Log4j)能够极大地提高开发效率和系统的可维护性。本文将详细介绍两...
在深入探讨Log4j日志等级之前,我们首先需要了解Log4j是什么。Log4j是Apache的一个开源项目,用于Java应用程序的日志记录。它提供了一种高度灵活且功能强大的日志解决方案,允许开发者和系统管理员自定义日志级别、...
Log4j 是一款广泛使用的Java日志记录框架,它提供了灵活的日志配置和丰富的日志级别,便于开发者调试和监控应用程序。在Java开发过程中,如果遇到"log4j:WARN Please initialize the log4j system properly"这样的...
Log4j作为Java领域广泛应用的日志框架,提供了强大的日志记录功能和灵活的配置。本文将深入探讨log4j的配置以及配置文件的详解。** 首先,我们要理解什么是`log4j.properties`文件。这是log4j框架的配置文件,使用...
Log4j是一款广泛使用的Java日志记录框架,它允许开发者按照功能模块或特定需求记录应用程序运行过程中的事件信息。在“log4j按功能保存日志”的场景中,我们通常会利用Log4j的配置灵活性,将不同功能的日志分别写入...
首先,log4j是一款广泛使用的日志记录框架,它提供了灵活的日志配置和强大的功能。在Android环境中,由于系统默认的日志记录器(Logcat)有一些限制,如日志长度、级别控制等,因此,引入log4j可以提供更高级别的...
然后使用Logger.getLogger()方法获取日志记录器,而Log4j2需要import org.apache.logging.log4j.Level、org.apache.logging.log4j.LogManager和org.apache.logging.log4j.Logger,使用LogManager.getLogger()方法...
在Android开发中,日志记录是一项非常重要的任务,它...通过以上步骤,你就能在Android工程中成功使用Log4j进行日志记录了。记得合理配置日志级别,平衡调试需求与性能消耗,以及定期清理日志,以保持应用的健康运行。