在 CentOS 系統中,Java 應用程序的日志格式可以通過修改 Java 應用程序的日志配置文件來自定義。這里以 Logback 和 Log4j 為例,介紹如何自定義 Java 日志格式。
如果你的 Java 應用程序使用的是 Logback 作為日志框架,你可以在項目的 src/main/resources
目錄下找到 logback.xml
配置文件。如果沒有這個文件,你可以創建一個。
在 logback.xml
文件中,你可以使用 <encoder>
標簽自定義日志格式。例如:
<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>
在這個例子中,<pattern>
標簽內的內容定義了日志格式。%d{yyyy-MM-dd HH:mm:ss.SSS}
表示日期時間,[%thread]
表示線程名,%-5level
表示日志級別,%logger{36}
表示 logger 名稱,%msg%n
表示日志消息和換行符。
你可以根據需要修改 <pattern>
標簽內的內容來自定義日志格式。
如果你的 Java 應用程序使用的是 Log4j 作為日志框架,你可以在項目的 src/main/resources
目錄下找到 log4j.properties
或 log4j2.xml
配置文件。如果沒有這個文件,你可以創建一個。
在 log4j.properties
文件中,你可以使用 log4j.appender.stdout.layout.ConversionPattern
屬性自定義日志格式。例如:
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5p %c{1}:%L - %m%n
在 log4j2.xml
文件中,你可以使用 <PatternLayout>
標簽自定義日志格式。例如:
<Configuration>
<Appenders>
<Console name="stdout" target="SYSTEM_OUT">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5p %c{1}:%L - %m%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="stdout"/>
</Root>
</Loggers>
</Configuration>
在這兩個例子中,%d{yyyy-MM-dd HH:mm:ss.SSS}
表示日期時間,[%t]
表示線程名,%-5p
表示日志級別,%c{1}
表示 logger 名稱,%L
表示行號,%m%n
表示日志消息和換行符。
你可以根據需要修改 <PatternLayout>
或 ConversionPattern
屬性的內容來自定義日志格式。