阅读量:4
在log4j的配置文件中,ConversionPattern是用来定义日志输出的格式的属性。它主要用于定义日志消息的布局,包括日志级别、时间、线程、类名、方法名、日志信息等内容。
ConversionPattern的格式由一个或多个转换符组成,每个转换符都以%开头,后面跟着一个或多个格式化选项。下面是一些常用的转换符及其对应的格式化选项:
- %m:日志信息的占位符。通常用于输出日志的内容。
- %p:日志级别的占位符。通常用于输出日志的级别,如DEBUG、INFO、WARN、ERROR等。
- %r:相对时间的占位符。表示自应用程序启动以来,产生日志事件的时间(以毫秒为单位)。
- %c:类名的占位符。通常用于输出日志的类名。
- %t:线程名的占位符。通常用于输出产生日志事件的线程名。
- %n:换行符的占位符。用于换行输出。
- %d:日期和时间的占位符。通常用于输出日志时间,可以使用ISO8601的日期时间格式,如%d{yyyy-MM-dd HH:mm:ss,SSS}。
除了上述常用的转换符,还可以使用一些修饰符来控制输出格式,如:
- %-5p:输出日志级别,并占用5个字符的宽度,左对齐。
- %20.30c:输出类名,并占用20个字符的宽度,右对齐,如果超过30个字符则截取。
- %20.30m:输出日志信息,并占用20个字符的宽度,右对齐,如果超过30个字符则截取。
通过使用不同的转换符和修饰符,可以灵活地定义日志输出的格式。例如,可以使用如下的ConversionPattern:
log4j.appender.console.layout.ConversionPattern=%d [%t] %-5p %c{1} - %m%n
上述配置将按照如下格式输出日志:
2019-01-01 10:00:00,000 [main] INFO ExampleClass - This is an example log message
其中,%d表示输出日期和时间,[%t]表示输出线程名,%-5p表示输出日志级别,%c{1}表示输出类名的最后一个单词,%m表示输出日志信息,%n表示换行符。
总之,ConversionPattern是用来定义日志输出格式的重要属性,通过使用不同的转换符和修饰符,可以灵活地控制日志的输出内容和布局。