Tinylog:记录器,带标签的记录器和slf4j的组合表现得很奇怪

问题描述

我具有以下Maven配置:

        <dependency>
            <groupId>org.tinylog</groupId>
            <artifactId>slf4j-tinylog</artifactId>
            <version>2.2.0</version>
        </dependency>
        <dependency>
            <groupId>org.tinylog</groupId>
            <artifactId>tinylog-api</artifactId>
            <version>2.2.0</version>
        </dependency>
        <dependency>
            <groupId>org.tinylog</groupId>
            <artifactId>tinylog-impl</artifactId>
            <version>2.2.0</version>
        </dependency>

我的Java程序如下:

    public static void main(final String[] args)
    {
        Configuration.set("w1","console");
        Configuration.set("w1.tag","SYstem");
        Configuration.set("w1.format","SYstem: {message}");

        Configuration.set("w2","console");
        Configuration.set("w2.tag","-");
        Configuration.set("w2.format","DEFAULT: {message}");

        final org.slf4j.Logger log = LoggerFactory.getLogger(MyLogging.class);
        log.info("Output for slf4j");
        Logger.tag("SYstem").info("Output for SYstem");
        Logger.info("Output for Default");
    }

结果如下:

2020-10-31 11:07:32 [main] de.MyLogging.main()
INFO: Output for slf4j
2020-10-31 11:07:32 [main] de.MyLogging.main()
INFO: Output for SYstem
2020-10-31 11:07:32 [main] de.MyLogging.main()
INFO: Output for Default

似乎根本没有配置。
我本来期望以下输出

DEFAULT: Output for slf4j
SYstem: Output for SYstem
DEFAULT: Output for Default

我的代码有什么问题?

解决方法

Configuration.set("w1","console")无法正常工作。您需要将“ w1”重命名为“ writer1”,将“ w2”重命名为“ writer2”。所有writer属性必须以前缀“ writer”开头。

有关更多详细信息,请参见官方tinylog文档中的writer部分:https://tinylog.org/v2/configuration/#writers