SimpleLayout,仅包括消息等级和消息。
PatternLayout,使用c的print方法,修饰日志。常用的Layout。
HTMLLayout,将日志包装为HTML的格式。
XMLLayout,将日志包装为XML的格式。
EnhancedPatternLayout,扩展PatternLayout,具体参考 EnhancedPatternLayout.java。
第一节 PatternLayout
具体情况,参考PatternLayout.java源码。
1、转义符
PatternLayout使用%作为转移字符。
%% 表示字面意义上的“%”。
如果%后面的不是合法的转义字符,%还是表示字面意义上的“%”。(log4j会提示出错。)
2、换行
%n 换行符号(Window下是\r\n, Linux下是\n)
3、长度控制
D代表数字,Z代表被转义字符
格式 意义 例子
%DZ 如果“%Z”对应的字符串不足“D”位时,前面补空格“ ”达到D位。 %15m
%-DZ 如果“%Z”对应的字符串不足“D”位时,后面补空格“ ”达到D位。 %-15m
%.DZ 如果“%Z”对应的字符串超过“D”位时,取后面的D位字符串。 %.30m
%D.DZ %DZ和%.DZ的组合。 %15.30m
%-D.DZ %-DZ和%.DZ的组合。 %-15.30m
4、转义字符,LoggingEvent的信息
%c event.getLoggerName();
%C event.getLocationInformation().getClassName()
%d event.timeStamp ,默认采用ISO8601DateFormat("YYYY-mm-dd HH:mm:ss,SSS")
%d{ISO8601} "YYYY-mm-dd HH:mm:ss,SSS"
%d{ABSOLUTE}
%d{DATE}
%d{***} 用SimpleDateFormat,处理字符串的格式。
%F event.getLocationInformation().getFileName()
%l event.getLocationInformation().fullInfo
%L event.getLocationInformation().getLineNumber()
%m event.getRenderedMessage()
%M event.getLocationInformation().getMethodName()
%p event.getLevel().toString()
%r (Long.toString(event.timeStamp - LoggingEvent.getStartTime()))
%t event.getThreadName()
%x event.getNDC()
%X event.getProperties() (event.getProperties()是一个Map)
%X{key} event.getMDC(key) (如果:event.getMDC(key)不存在,则为key)
分享到:
相关推荐
《Log4j笔记 第九章 封装Log4j》 在Java开发中,日志记录是一项非常重要的任务,它帮助我们追踪程序运行时的状态,定位和解决错误。Log4j是Apache组织提供的一款强大的日志框架,因其高效、灵活和可配置性而广受...
**Log4j学习笔记** Log4j是一款广泛应用于Java编程中的日志记录框架,由Apache软件基金会开发。它提供了一套灵活的日志记录系统,帮助开发者在开发过程中追踪应用程序的行为,便于调试、性能分析和问题排查。Log4j...
下面我们将从配置文件类型、核心JAR包、文件渲染和Log调用四个方面来比较Log4j和Log4j2的区别。 配置文件类型 Log4j通过一个.properties文件作为主配置文件,而Log4j2则弃用了这种方式,采用的是.xml、.json或者....
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n #log4j.appender.CONSOLE.layout....
《log4j笔记详解》 在IT行业中,日志记录是一项至关重要的任务,它帮助开发者追踪应用程序的运行状态,定位和解决问题。Log4j作为Java领域最常用的日志框架之一,因其灵活性、可配置性和高性能而备受推崇。本文将...
#### 四、log4j 配置详解 1. **配置文件**: - `log4j.properties` 或 `log4j.xml` 文件用于定义 log4j 的配置规则。 - 配置文件通常放置在项目的根目录或者类路径下。 - 如果未指定配置文件的位置,则 log4j 会...
**Log4j学习笔记** Log4j是一款广泛应用于Java编程中的日志记录工具,由Apache软件基金会开发。它提供了一种灵活且强大的机制来记录应用的运行情况,这对于调试、性能分析、问题追踪以及系统监控至关重要。这篇学习...
- **日志文件写入速度**:Log4j2通过优化的布局(Layout)和过滤器(Filter),实现了更快的日志文件写入速度。这对于大数据量的日志记录尤为重要。 综上所述,Log4j2在效率方面较Log4j 1.x有了显著提升,这主要得益...
Log4j是一个广泛使用的Java日志记录框架,它允许开发者在应用程序中轻松地记录各种级别的日志信息,如DEBUG、INFO、WARN、ERROR等。在2021年底,一个重大的安全漏洞(CVE-2021-44228)被发现在Log4j2的早期版本中,...
针对Log4j 2 远程代码执行漏洞,需要用到的升级资源包,适用于maven资源库,包括log4j,log4j-core,log4j-api,log4j-1.2-api,log4j-jpa等全套2.15.0 maven资源库jar包。如果是maven本地仓库使用,需要将zip包解压...
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n log4j.appender.file=org.apache.log4j....
四、在 Maven 项目中引入 Log4j 依赖 在 Maven 项目中,需要引入 Log4j 依赖项,以便使用 Log4j。下面是一个基本的 Maven 依赖项配置: ``` <groupId>log4j <artifactId>log4j <version>1.2.16 ``` 这个配置...
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n #log4j.appender.CONSOLE.layout....
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n ``` 3. **使用SLF4J接口**:在Java代码中,通过SLF4J的...
apache-log4j-1.2.15.jar, apache-log4j-extras-1.0.jar, apache-log4j-extras-1.1.jar, apache-log4j.jar, log4j-1.2-api-2.0.2-javadoc.jar, log4j-1.2-api-2.0.2-sources.jar, log4j-1.2-api-2.0.2.jar, log4j-...
Log4j是Java编程语言中最常用的日志记录框架之一,由Apache软件基金会开发。它提供了灵活的日志记录功能,使得开发者能够轻松地控制日志信息的输出格式、输出位置以及输出级别。此次提及的`log4j-api-2.12.4.jar`和`...
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....
分别有disruptor-3.3.4.jar(Log4j2异步日志的底层实现)、log4j-api-2.19.0.jar(log4j门面)、log4j-core-2.19.0.jar(log4j实现)、log4j-slf4j-impl-2.19.0.jar(SLF4J与Log4j绑定)、slf4j-api-1.7.30.jar(SLF...
- **设置Layout**:如`log4j.appender.stdout.layout=org.apache.log4j.PatternLayout`,并定义其模式`log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n`,决定日志的显示格式。...