溫馨提示×

log4j2怎么按類輸出文件

小億
174
2024-01-11 20:16:14
欄目: 編程語言

在log4j2中,可以按照類名來輸出日志到不同的文件。首先,需要在log4j2的配置文件中定義一個或多個Logger,并指定它們的名稱和要輸出到的文件。

以下是一個示例配置文件log4j2.xml的內容:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <Appenders>
        <File name="FileAppender1" fileName="logs/app1.log">
            <PatternLayout pattern="%d [%t] %-5level %logger{36} - %msg%n" />
        </File>
        <File name="FileAppender2" fileName="logs/app2.log">
            <PatternLayout pattern="%d [%t] %-5level %logger{36} - %msg%n" />
        </File>
    </Appenders>
    <Loggers>
        <Logger name="com.example.app1" level="debug" additivity="false">
            <AppenderRef ref="FileAppender1" />
        </Logger>
        <Logger name="com.example.app2" level="debug" additivity="false">
            <AppenderRef ref="FileAppender2" />
        </Logger>
        <Root level="error">
            <AppenderRef ref="FileAppender1" />
        </Root>
    </Loggers>
</Configuration>

在上面的配置文件中,定義了兩個FileAppender,分別輸出到兩個不同的文件(app1.log和app2.log)。然后定義了兩個Logger,分別對應兩個不同的類(com.example.app1和com.example.app2),并分別指定了要使用的FileAppender。

這樣,當這兩個類中的日志被打印時,會按照類名來輸出到對應的文件中。同時,還定義了一個Root Logger,將所有其他未指定FileAppender的日志都輸出到FileAppender1對應的文件中。

注意,需要將log4j2.xml配置文件放置在類路徑下,以便log4j2能夠找到并加載它。

0