在CentOS系統上,Java日志的格式通常由所使用的日志框架決定。以下是一些常見日志框架及其日志格式的示例:
如果您使用的是Logback作為日志框架,通常會在src/main/resources
目錄下找到logback.xml
文件。以下是一個簡單的logback.xml
示例,定義了日志格式:
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="info">
<appender-ref ref="STDOUT" />
</root>
</configuration>
在這個例子中,%d{yyyy-MM-dd HH:mm:ss.SSS}
表示日期和時間,[%thread]
表示線程名,%-5level
表示日志級別(如ERROR、INFO等),%logger{36}
表示 logger 名稱,- %msg%n
表示日志消息本身和換行符。
如果您使用的是Log4j,通常會在src/main/resources
目錄下找到log4j.properties
文件。以下是一個簡單的log4j.properties
示例,定義了日志格式:
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
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
在這個例子中,%d{yyyy-MM-dd HH:mm:ss}
表示日期和時間,%-5p
表示日志級別,[%c{1}]
表示類名,:%L
表示行號,- %m%n
表示日志消息本身和換行符。
如果您使用的是JULI作為日志框架,通常會在src/main/resources
目錄下找到logging.properties
文件。以下是一個簡單的logging.properties
示例,定義了日志格式:
handlers=java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level=ALL
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
java.util.logging.SimpleFormatter.format=%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS %4$s %2$s %5$s%6$s%n
在這個例子中,%1$tY
表示年份,%1$tm
表示月份,%1$td
表示日期,%1$tH
表示小時,%1$tM
表示分鐘,%1$tS
表示秒,%4$s
表示日志記錄器名稱,%2$s
表示線程名,%5$s
表示日志級別,%6$s
表示消息。
通過修改上述配置文件中的pattern
或ConversionPattern
元素,您可以自定義Java日志的格式。完成更改后,重新編譯并運行您的Java應用程序,新的日志格式應該生效。