gpt4 book ai didi

java - 有没有一种好方法使用 Slf4j 将某些事件记录到单独的日志文件中?

转载 作者:行者123 更新时间:2023-11-30 07:39:22 24 4
gpt4 key购买 nike

我正在使用 Slf4j 登录我的 Java 服务,但对于某些类型的事件,我想为其创建一个单独的日志文件。

可以使用Slf4j来实现吗?

最佳答案

Slf4j 只是一个抽象,可帮助您与各种日志框架进行交互 - 您还需要选择一个日志框架。以下是 logback 的示例- 但如果您更喜欢其他框架(JUL、log4j2),相同的概念也适用于这些框架。

您需要做的是将您的特殊事件记录在特定的记录器下:

Logger logger = LoggerFactory.getLogger("my.special.events");
logger.info("Oh my! Something has happened!");

然后设置 logback(或您选择的框架)以将通过此记录器发送的事件也发送到另一个目的地(另一个附加程序):

<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%msg%n</pattern>
</encoder>
</appender>

<appender name="SPECIAL" class="ch.qos.logback.core.FileAppender">
<file>specialEvents.log</file>
<encoder>
<pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern>
</encoder>
</appender>

<logger name="my.special.events">
<appender-ref ref="SPECIAL" />
</logger>

<root level="debug">
<appender-ref ref="STDOUT" />
</root>
</configuration>

这会将您的特殊事件发送到 STDOUT 和单独的文件。如果您只需要文件中的这些事件,请将可加性设置为 false,如 docs 中所述。 .

关于java - 有没有一种好方法使用 Slf4j 将某些事件记录到单独的日志文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34914479/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com