我有这样的附加器。
<appender name="Action.FileAppender" class="ch.qos.logback.core.FileAppender">
<file>logs\\${date}\\${thread}.log</file>
<encoder>
<pattern>%level - %msg%n</pattern>
</encoder>
</appender>我希望${ date }和${ thread }作为当前日期和当前线程名称。我该怎么做呢?
发布于 2010-10-04 21:09:29
SiftingAppender可能就是您需要的。它被设计成根据“鉴别器”来分离日志事件,在你的例子中,“鉴别器”是日期和线程名。
发布于 2010-10-04 19:52:30
你的意思是你想在运行时动态设置输出文件名吗?AFAIK它不可能直接通过配置。您有两种变通方法:
第一种方法相当乏味和浪费,因为您将需要特定于实例的记录器和附加器,用于可以从不同线程调用不同实例的类。即便如此,如果相同的对象在多个线程之间共享,该怎么办呢?
第二种更自然、更简单。此外,通过使用简单的shell脚本进行一些后处理,您甚至可以将属于不同线程的日志过滤到不同的日志文件中。
https://stackoverflow.com/questions/3854905
复制相似问题