闲来无事的时候学习了一下log4j,并写了一个简单的例子,来与大家一同分享!
到apache官方网站下载log4j的应用
需要引入log4j.jar
package test;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public class TestMyLog {
public TestMyLog() { }
private static Logger logger = Logger.getLogger(TestMyLog.class);
static {
PropertyConfigurator.configure(TestMyLog.class.getResource("log4j.properties")); //初始化日志文件,之后相应的日志文件就会被创建
}
public static void main(String[] args) {
logger.debug("debug");logger.info("info");logger.warn("warn");logger.error("error");logger.fatal("fatal") ;
}
}
log4j.properties文件的编写如下:
#############################################
#格式为log4j.rootLogger = [ level ],appenderName1,appenderName2...
log4j.rootLogger = debug,stdout,R
#记日志到console中
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern =%d{yyyy-MM-dd HH:mm:ss} [%-5p] %C.%M(%L) %n\u4fe1\u606f: %m%n
#记日志到文件中 其中有一些设置 记日志的方式 记录的位置 最大的文件大小 记日志的内容等
log4j.appender.R = org.apache.log4j.RollingFileAppender
log4j.appender.R.File = c:/logs/my.log
log4j.appender.R.MaxFileSize = 20KB
log4j.appender.R.MaxBackupIndex = 1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%-5p] %C.%M(%L) %n\u4fe1\u606f: %m%n
#############################################
说明log4j.properties文件中配置参数所表达的含义
log4j中有个Appender的接口,表示日志记录的位置,有下面一些实现类
org.apache.log4j.ConsoleAppender,控制台
org.apache.log4j.FileAppender,文件,可以设置日志文件的参数,比如文件的大小
org.apache.log4j.DailyRollingFileAppender,每天产生一个日志文件,当然不必设定文件的大小等参数信息,反正每天就产生一个日志文件,或大或小
org.apache.log4j.RollingFileAppender,文件大小到达指定尺寸的时候产生一个新的文件,可以设置日志文件的参数,比如文件的大小(log4j.appender.filter.maxfilesize),备份文件的个数(log4j.appender.gilter.maxbackupindex)等
org.apache.log4j.WriterAppender,将日志信息以流格式发送到任意指定的地方
此外还有一些不是非常常用的Appender
org.apache.log4j.SMTPAppender,用于邮件发送
org.apache.log4j.JDBCAppender,用于数据库
org.apache.log4j.SocketAppender,用于网络传输
并且有个Layout接口,表示日志记录的样式,有下面的一些实现类
org.apache.log4j.HTMLLayout,以HTML表格形式布局
org.apache.log4j.PatternLayout,可以灵活地指定布局模式,比较常用
org.apache.log4j.SimpleLayout,包含日志信息的级别和信息字符串
org.apache.log4j.TTCCLayout,包含日志产生的时间、线程、类别等等信息
说明下上面的ConversionPattern值表示的含义
%d 表示日期,可以设定日期的格式
%p 表示日志级别,DEBUG,INFO,WARN,ERROR,FATAL,为优先级由低到高,如果日志级别设置为DEBUG,则DEBUG级别和之上的日志级别都将会输出,同样,如果日志级别是INFO,则INFO和它之上的日志级别都将会输出
%t 表示输出该日志的线程名
%C 表示类,显示类的全路径
%M 表示方法
%L 表示行号
%n 表示回车换行符,Windows平台为\r\n,Unix平台为\n
\u4fe1\u606f 为unicode编码的字符
%m 表示记录的消息
此外,log4j.properties文件中并不是大小写敏感的,写成下面的两种形式都是可以的(本人更倾向于小写的形式)
log4j.appender.filter.FILE = log/filter.log
log4j.appender.filter.file = log/filter.log
分享到:
相关推荐
这些工具的主要目的是帮助管理员和安全专家迅速识别其环境中是否存在易受攻击的Log4j2实例。 Windows版的“log4j2排查工具-windows”可能包含以下功能: 1. 自动扫描系统中的Log4j2相关组件,包括jar文件、配置...
在Java代码中,你可以通过调用`org.apache.logging.log4j.LogManager.getLogger()`获取一个Logger实例,然后使用它来记录日志信息。 总的来说,Apache Log4j是一个强大且灵活的日志框架,对于开发人员来说,理解和...
根据提供的信息,我们可以深入探讨《Pro Apache Log4j 第二版》这本书的相关知识点。此书由Samudra Gupta编写,并于2005年出版,是关于Apache Log4j的一个专业指南。 ### 一、Apache Log4j简介 Apache Log4j是一个...
4. 强烈建议用户升级:由于Log4j2的广泛使用,官方强烈建议所有用户尽快将他们的Log4j2实例升级到2.16.0或更高版本,以确保系统的安全性。 在使用这个升级包时,你需要先解压缩"apache-log4j-2.16.0-bin"文件,然后...
Apache Log4j 是一个广泛使用的开源日志框架,它为Java应用程序提供了强大的日志记录功能。Log4j 的主要优点在于它的灵活性和可配置性,允许开发者根据需要调整日志的输出目的地、格式以及级别。 **配置Log4j** ...
在代码中,通过导入`org.apache.log4j.Logger`,创建一个logger实例,并调用其方法来记录日志。如: ```java import org.apache.log4j.Logger; public class MyClass { private static final Logger logger = ...
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n # 文件输出 log4j.appender.file=org.apache.log4j....
Apache Log4j 是一个广泛使用的Java日志框架,它的核心功能是记录应用程序中的事件和错误信息,便于跟踪问题、分析性能以及调试。Log4j 提供了一种灵活、高效的日志记录机制,允许开发者定制日志输出的方式、位置和...
本实例将深入探讨Log4j的基本使用方法和配置。 一、Log4j的核心组件 1. Logger:日志记录器,它是日志输出的起点,可以根据不同的类或模块创建多个Logger实例,每个实例具有不同的日志级别。 2. Level:日志级别,...
在使用过程中,开发者可以通过文档了解如何创建自定义的Appender、Filter和Layout,以及如何在代码中与Log4j交互,如获取Logger实例、调用不同级别的记录方法(如`logger.debug()`、`logger.info()`等)。...
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n ``` 在这个例子中,我们创建了一个名为`FILE`的Appender,它将日志...
Apache的Log4J是Java平台上的一个开源日志框架,被广泛用于后台开发中,以提供灵活、高效和可配置的日志记录。Log4J以其简单易用、性能优秀和功能强大而备受开发者喜爱。它提供了多种级别的日志输出,如DEBUG、INFO...
### Log4j 使用实例详解 #### 一、Log4j简介 Log4j 是一个开源的日志记录框架,由 Apache 软件基金会提供。它允许开发者根据需求配置日志等级,并灵活选择日志信息的输出方式。Log4j 的核心组件包括 Logger、...
Log4j是Apache组织提供的一款开源的日志记录框架,广泛应用于Java开发中。在标题“log4j实例,log4j-1.2.9.jar”中,我们看到的是Log4j的一个具体版本——1.2.9。这个版本虽然相对较旧,但它仍然是许多现有项目的...
Apache Log4j 2.0 是一个广泛使用的Java日志框架,它提供了强大的日志记录功能,便于开发者在应用程序中追踪、记录和分析各种信息。这个压缩包"apache-log4j-2.0-alpha1-bin.tar"包含了Log4j 2.0的第一个alpha版本的...
Apache Log4j是Java平台上的一个著名日志框架,它为开发者提供了强大的日志记录功能。这个名为"apache-log4j-1.2.17"的压缩包包含的是Log4j 1.2.17版本的源码、库文件和其他相关资源,用于解决在开发或运行过程中...
Log4j是Apache组织开发的一款Java日志记录框架,它为Java应用程序提供了强大的日志处理能力。在软件开发中,日志记录对于调试、性能分析、问题排查等环节至关重要。Log4j通过灵活的配置,使得开发者能够控制日志信息...
这个“log4j实例java工程.zip”压缩包包含了在一个基于Eclipse、Maven、Spring和SpringMVC的项目中使用Log4j的具体示例。 首先,Eclipse是Java开发常用的集成开发环境(IDE),它提供了一整套工具来帮助编写、调试...
在描述中提到的"确定已经没有漏洞",意味着进行了彻底的Log4j2版本检查和安全审计,确保所有的Log4j2实例都升级到了不受此漏洞影响的版本。通常,这涉及到以下步骤: 1. **识别系统中的Log4j2实例**:首先,需要...
这些接口包括最基本的`org.apache.logging.log4j.Logger`,它是所有日志记录的起点,以及`org.apache.logging.log4j.LogManager`,它负责管理日志配置和日志器实例。API库的主要目标是与实现层解耦,允许开发者在不...