每个记录器的动态登录文件

svobol13

我对登录有“特殊”要求-我需要每个记录器都在单独的文件中。

爪哇

Logger log1 = LoggerFactory.getLogger("dynamic.log1");
Logger log2 = LoggerFactory.getLogger("dynamic.log2");
//...

然后,我想将任何输出从Logbacklog1写入文件log1.log,依此类推。是否可以“动态”地appender使用logback创建new

可以使用其他一些日志记录框架来解决此用例吗?

我可以手动配置appender,但这是我要避免的事情。就像我添加dynamic记录器的时候一样,新的appender /文件也会相应地创建。

编辑

我实现了自定义标识符:

public class LoggerBasedDiscriminator extends AbstractDiscriminator<ILoggingEvent> {
    private static final String LOGGER_NAME = "loggerName";
    @Override
    public String getDiscriminatingValue(ILoggingEvent e) {
        return e.getLoggerName();
    }
    @Override
    public String getKey() {
        return LOGGER_NAME;
    }
}

然后我的追加器配置如下所示:

<appender name="SIFT" class="ch.qos.logback.classic.sift.SiftingAppender">
    <discriminator class="cz.svobol.logging.LoggerBasedDiscriminator">
        <key>loggerName</key>
        <defaultValue>root</defaultValue>
    </discriminator>
    <sift>
        <appender name="FILE-${loggerName}" class="ch.qos.logback.core.FileAppender">
            <file>${loggerName}.log</file>
            <encoder>
                <pattern>%msg%n</pattern>
            </encoder>
        </appender>
    </sift>
</appender>
科尔斯加德

您可以使用SiftingAppender

这样,您就有一个附加程序,可以将日志动态地划分为不同的文件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

登录后异步记录器

来自分类Dev

使用注入的记录器登录类

来自分类Dev

记录器配置以记录到文件

来自分类Dev

如何在每个类别中配置记录器的文件名?

来自分类Dev

在使用时间轮转记录器创建的每个日志文件中写入标头

来自分类Dev

如何为每个文件写入和控制台写入指定特定的记录器级别

来自分类Dev

提升记录器刷新到文件

来自分类Dev

Python记录器文件异常

来自分类Dev

记录器源文件位置-openbravoErp

来自分类Dev

重新登录忽略父包的记录器

来自分类Dev

重新登录从根目录排除记录器

来自分类Dev

Twisted记录器可以登录UTC吗?

来自分类Dev

将Mule登录到非root记录器

来自分类Dev

登录模块:找不到记录器的处理程序

来自分类Dev

为什么要为每个类创建Nlog记录器

来自分类Dev

Python:记录器在登录到标准输出和两个文件时在屏幕上重复消息

来自分类Dev

简单的键盘记录器“记录文件的问题”

来自分类Dev

Sentry.io动态忽略记录器

来自分类Dev

记录器文件未保存,控制台中未显示记录器

来自分类Dev

Java:如何使两个记录器写入不同的文件(记录器)

来自分类Dev

AutoIt记录器

来自分类Dev

不追加但覆盖记录器的日志文件

来自分类Dev

从记录器检索输出日志文件值

来自分类Dev

如何从python记录器获取文件名

来自分类Dev

控制台/文件记录器库C ++

来自分类Dev

Rails:如何更改记录器文件名?

来自分类Dev

不追加但覆盖记录器的日志文件

来自分类Dev

解析目录中的巨大记录器文件

来自分类Dev

记录器在某些文件中无法使用