登录 |  注册
首页 >  编程语言 >  Spring开发实战学习笔记 >  log4j属性详细说明

log4j属性详细说明

Apache Log4j 是一个流行的日志记录工具,允许开发者灵活地控制日志输出的方式、格式和目标。在Log4j 1.x版本中,配置通常以.properties文件格式存储,而在Log4j 2.x版本中,则更多采用XML或JSON格式,但同样支持.properties格式。以下是Log4j 1.x的.properties配置文件中一些关键属性的说明:

基本配置项:

  • 根Logger配置:

log4j.rootLogger=[level],[appender-ref1], [appender-ref2], ...

这行用于设置全局的日志级别(DEBUG、INFO、WARN、ERROR、FATAL等),后面跟着的是要关联的Appender名称列表。

  • Appender配置:

log4j.appender.[appender-name]=[appender-class]

定义一个Appender,比如将日志输出到控制台或文件:

  • Properties

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.file=org.apache.log4j.FileAppender
  • Appender布局(Layout)配置:

log4j.appender.[appender-name].layout=org.apache.log4j.PatternLayout
log4j.appender.[appender-name].layout.ConversionPattern=[pattern]

指定Appender使用的布局模式,ConversionPattern定义了日志输出的格式,例如:

log4j.appender.console.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
  • 具体Appender属性配置: 

对于不同类型的Appender,会有不同的附加属性,比如对于FileAppender,需要指定输出文件:

log4j.appender.file.File=/var/log/myapp.log
  • Logger配置:

log4j.logger.[logger-name]=[level],[appender-ref]

定义特定包或类的日志级别及其使用的Appender,例如:

log4j.logger.com.example.mypackage=DEBUG, file

示例配置片段:

设置root Logger级别为INFO,并将所有日志输出到控制台:

log4j.rootLogger=INFO, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

添加一个FileAppender将日志输出到文件,并设置其只记录WARN级别以上的日志:

log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=mylogfile.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
log4j.rootLogger=INFO, file
log4j.logger.com.example.myapp=WARN, file

在Log4j 2.x中,配置结构虽然有所变化,但概念相似,只是语法和功能更为丰富。例如,使用.properties文件时,会采用新的键值对形式,且提供了更多的选项和更强大的表达式语言。

上一篇: Spring中如何配置log4j文件
推荐文章
  • 项目中,有些函数需要处理某个服务的返回结果,而在对函数单元测试的时候,又不能启动那些服务,这里就可以利用Mockito工具,其中有如下三种注解:@InjectMocks:创建一个实例,简单的说是这个Mock可以调用真实代码的方法,其余用@Mock(或@Spy)注解创建的mock将被注入到用该实例中。
  • 雪花算法(Snowflake)是由Twitter开发的一种分布式ID生成算法,旨在为分布式系统提供一种简单而有效的方式,以生成全局唯一、有序且可排序的64位整数ID。这种ID通常用作数据库记录的主键或其他需要唯一标识符的场景。雪花算法生成的64位ID结构如下:最高位(第64位):固定为0,因为64位
  • 在HTML中,如果你想让一个输入框(input元素)不可编辑,你可以通过设置其readonly属性来实现。示例如下:input type="text" value="此处内容不可编辑" readonly在上述代码中,readonly属性使得用户无法修改输入框中的内容。另外,如果你希望输入框完全不可交
  • ASP.NET教程ASP.NET又称为ASP+,基于.NETFramework的Web开发平台,是微软公司推出的新一代脚本语言。ASP.NET是一个使用HTML、CSS、JavaScript和服务器脚本创建网页和网站的开发框架。ASP.NET支持三种不一样的开发模式:WebPages(Web页面)、
  • C# 判断判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。下面是大多数编程语言中典型的判断结构的通常形式:判断语句C#提供了以下类型的判断语句。点击链接查看每个语句的细节。语句描述if语句一个 if语句 由一个布尔表达式后跟
  • C#循环有的时候,可能需要多次执行同一块代码。通常情况下,语句是顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。编程语言提供了允许更为复杂的执行路径的多种控制结构。循环语句允许我们多次执行一个语句或语句组,下面是大多数编程语言中循环语句的通常形式:循环类型C#提供了以下几种循环类型
学习大纲