官方网站: http://logging.apache.org/log4j/
1.下载log4j包
下载版本1.2,1.3已经终止,2.0版本还在开发阶段。
2.导入log4j包
3.写log4j的配置文件(两种方式,.properties或者.xml)
例子:log4j.properties
log4j.rootLogger = debug,appender1,appender2 //设置log4j的输出级别是debug,(常用的日志级别: debug < info < warn < error)
(
ps:级别的设置是很有用的,在开发阶段可以将日志的级别设置为低级别debug,开发人员可以看到详细的日志信息,在用户使用阶段就
将日志级别设置为error,只能看到严重的错误信息
也可以指定到具体包,例如:log4j.logger.com.test = debug,appender1,
)
log4j.appender.appender1 = org.apache.log4j.ConsoleAppender //指日志信息在终端处理,在终端输出
log4j.appender.appender2 = org.apache.log4j.FileAppender
log4j.appender.appender2.File = c:/demolog4j.htm
(
可以将日志信息在指定文件中输出
log4j.appender.appender1 = org.apache.log4j.FileAppender
log4j.appender.appender1.File = c:/demolog4j.log
)
log4j.appender.appender1.layout = org.apache.log4j.TTCCLayout //在终端输出的格式
log4j.appender.appender2.layout = org.apache.log4j.HTMLLayout
(
可以改变日志的输出格式
log4j.appender.appender1 = org.apache.log4j.HTMLLayout//以HTML格式输出
对应的输出的文件log4j.appender.appender1.File = c:/demolog4j.htm
)
============== 分 ================
常用的Appender:
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定大小的时候产生一个新文件)
org.apache.log4j.WriterAppender(将日志文件以串流格式发送到任何地方)
org.apache.log4j.JdbcAppender(将日志信息保存到数据库)
PS:这些都满足要求,可以再API中找符合要求的,要是还不满足(要求太特别。)可以重写类,继承Appender接口
log4j.appender.filelog.File=your file dir
log4j.appender.filelog.MaxFileSize=your filesize
log4j.appender.mylog.MaxBackupIndex=num设置保存备份文件数量
常用的layout
org.apache.log4j.HTMLLayout(以HTML表格形式布局)
org.apache.log4j.SimpleLayout(简单布局,包含日志讯息的级别和讯息的字符串)
org.apache.log4j.TTCCLayout(包含日志产生的时间,执行者,类别等讯息)
org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
如果使用PatternLayout布局就要指定的打印信息的具体格式ConversionPattern,打印参数如下:
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%t 输出自应用启动到输出该日志讯息所耗费的毫秒数
%t 输出产生改日志事件的线程名
%f 输出日志讯息所属类的类名
%c 输出日志讯息所属类的全名
%d 输出日志时间点的时间或者日期,指定格式的发式:%d{yyyy-MM-dd HH:mm:ss}
%l 输出日志事件的发生位置,即输出日志讯息的语句处于它所在的类别的第几行
%m 输出代码中指定的讯息,如log(message)中的message
%n 输出一个回车换行符,Windows为"rn",Unix为"n"
=============== 割 =================
4.在相关类中得到日志对象
private static Logger logger = Logger.getLogger("xxx.class");
程序中并没有直接用到log4j的类,而是使用了commons-logging提供的日志类。commons-logging是为"所有的Java日志实现"提供一个统一的接口,它的功能据说“平常弱”。
Log(基本记录器)和LogFactory(负责创建Log实例)。当commons-logging.jar被加入到CLASSPATH之后,它会合理地猜测你喜欢的日志工具,然后进行自我设置,用户根本不需要做任何设置。默认的LogFactory是按照下列的步骤去发现并决定那个日志工具将被使用的(按照顺序,寻找过程会在找到第一个工具时中止):
1.寻找当前factory中名叫org.apache.commons.logging.Log配置属性的值
2.寻找系统中属性中名叫org.apache.commons.logging.Log的值
3.如果应用程序的classpath中有log4j,则使用相关的包装(wrapper)类(Log4JLogger)
4.如果应用程序运行在jdk1.4的系统中,使用相关的包装类(Jdk14Logger)
5.使用简易日志包装类(SimpleLog)
分享到:
相关推荐
标题"Log4j简单使用"表明我们即将探讨的是日志记录库Log4j的基础应用。Log4j是Apache软件基金会开发的一个开源项目,它为Java应用程序提供了一个灵活的日志系统,允许开发者自定义日志级别、输出格式以及存储位置等...
标签"log4j-API"强调了我们讨论的重点在于Log4j的日志API,而不是其实现或其他部分。API是程序员编写代码时使用的接口,它定义了如何创建、配置和控制日志记录。 **压缩包子文件的文件名称列表:log4j-1.2-api-...
然后在日志生产端(即使用Log4j的应用程序)中,简单地将KAFKA添加为日志输出的目标即可: ```xml ``` 至于提供的压缩包文件,可能包含了项目相关的示例图片、说明文档和链接,如"www.Linuxidc.com.jpg"可能...
在《Log4j将System.out搞到log4j中输出四》这篇博文中,作者可能详细讨论了这些步骤,并可能分享了一些实战经验。通过学习这篇博文,读者可以更深入地了解如何在实际项目中实现这一转换,提升日志管理的效率。 总结...
《深入理解Log4j:Apache日志框架的基石》 在Java编程领域,日志记录是不可或缺的一部分,它为开发者提供了程序运行时的详细信息,帮助调试和追踪问题。而Log4j,作为Apache软件基金会的一个项目,是Java平台上的一...
#### 四、log4j的核心组件 log4j的核心组件主要包括**Loggers(记录器)**、**Appenders(输出源)**和**Layouts(布局)**。 1. **Loggers (记录器)**:负责生成日志信息,并决定是否发送日志信息到Appenders。记录器...
四、Log4j的高级特性 1. **异步日志记录**:Log4j支持异步日志记录,通过AsyncAppender可以在不阻塞主线程的情况下高效地处理日志。 2. **自定义Appender和Layout**:如果内置的Appender和Layout无法满足需求,...
标题中的“log4jdbc-log4j2配置简记”指的是在Java开发中使用log4jdbc-log4j2库来监控和记录SQL查询的过程。log4jdbc是一个开源项目,它允许开发者通过日志系统来追踪数据库操作,而log4j2是log4j的升级版,提供了更...
3. **配置Tomcat**:在`$CATALINA_HOME/lib`目录下添加`log4j-api.jar`和`log4j-slf4j-impl.jar`,这将使Tomcat使用Log4j2作为其内部的日志系统。 4. **排除其他日志实现**:确保你的应用中没有引入其他的日志实现...
Log4j允许开发者自定义日志输出的方式和格式,通过继承Appender和Layout接口,可以实现如电子邮件通知、日志发送到服务器或其他特殊格式的需求。 六、性能优化 在大型系统中,日志处理可能成为性能瓶颈。Log4j提供...
手册还可能涵盖了Log4j的扩展和定制开发,说明如何根据项目需求对Log4j进行二次开发,以实现更强大的日志管理功能。 10. 为什么使用Log4j Log4j之所以受到广泛使用,是因为其具有灵活性、配置简单、扩展性强等...
在给定的压缩包中,还有一个`log4j-slf4j-impl-2.11.2.jar`,它是SLF4J到Log4j 2的具体绑定实现。这意味着你可以使用SLF4J的接口,但日志实际上会通过Log4j 2进行处理。这个绑定使得在项目中同时使用SLF4J的抽象和...
Log4j还提供了许多高级特性,如过滤器(Filter)来控制哪些日志信息会被记录,自定义布局(Custom Layout)来实现特定的日志格式,以及异步日志记录以提高性能。此外,还可以通过引入其他模块如SMTPAppender发送邮件...
一个简单的Log4j项目通常包含以下几个部分: 1. **配置文件**:Log4j的配置文件通常是`log4j.properties`或`log4j.xml`,它定义了日志的级别(如DEBUG、INFO、WARN、ERROR、FATAL)、输出目的地(控制台、文件、...
Log4j 配置详解 Log4j 是一个流行的 Java 日志记录工具,提供了灵活的日志记录机制,能够满足不同的...了解 Log4j 的配置步骤、日志输出级别、appenders 和 layouts,可以帮助我们更好地使用 Log4j 实现日志记录。
在整合SLF4J与Log4j时,首先需要在项目中引入SLF4J的API库(slf4j-api-1.7.5.jar)和SLF4J对Log4j的绑定实现(slf4j-log4j12-1.7.5.jar)。同时,还需要Log4j自身的库(log4j-1.2.x.jar),以提供实际的日志记录服务...
通常,项目会包含`slf4j-api.jar`(SLF4J API)和`log4j.jar`(Log4j实现)。此外,还需要一个桥接器`slf4j-log4j12.jar`,这个桥接器使得SLF4J能够调用Log4j的实现。 4. 使用示例: 在代码中,我们使用SLF4J的...
2. `log4j-core-2.14.0.jar`: 实现了Log4j 2的核心功能,如配置解析、日志事件处理等。 3. `log4j-web-2.14.0.jar`(如果适用): 用于在Web应用环境中,如Tomcat中,提供Servlet容器的集成。 4. `configurations`: ...
此外,Log4j 支持跨语言使用,可以在 C/C++、.Net 和 PL/SQL 等语言中实现类似 Java 的日志功能。结合第三方扩展,Log4j 可轻松集成到 J2EE、JINI 或 SNMP 应用中。 #### 二、Log4j 的安装与集成 本章节详细介绍...
**日志框架Log4j详解** ...1.2.17版本的Log4j jar包和`log4j.properties`配置文件是实现这一目标的基础。正确地引入和配置这两个组件,可以确保在开发和维护过程中获得所需的信息流,从而提升开发效率和问题排查能力。