Java 每个记录器的Logback文件Dynamicly

Java 每个记录器的Logback文件Dynamicly,java,logging,logback,Java,Logging,Logback,我对loggin有“特殊”要求-我需要将每个日志记录在单独的文件中 爪哇 然后我希望将log1的任何输出写回文件log1.log,依此类推。是否可以“动态”创建新的appender,就像使用logback那样 可以使用其他一些日志框架来解决这个用例吗 我可以手动配置Appender,但这是我想要避免的。就像我每次添加dynamiclogger一样,新的appender/文件也会相应地创建 编辑: 我实现了自定义鉴别器: 公共类LoggerBasedDiscriminator扩展Abstract

我对loggin有“特殊”要求-我需要将每个日志记录在单独的文件中

爪哇

然后我希望将
log1
的任何输出写回文件
log1.log
,依此类推。是否可以“动态”创建新的
appender
,就像使用logback那样

可以使用其他一些日志框架来解决这个用例吗

我可以手动配置Appender,但这是我想要避免的。就像我每次添加
dynamic
logger一样,新的appender/文件也会相应地创建

编辑

我实现了自定义鉴别器:

公共类LoggerBasedDiscriminator扩展AbstractDiscriminator{
私有静态最终字符串记录器\u NAME=“loggerName”;
@凌驾
公共字符串GetDifferentingValue(ILOGingEvent e){
返回e.getLoggerName();
}
@凌驾
公共字符串getKey(){
返回您的名称;
}
}
然后我的appender配置如下所示:


loggerName
根
${loggerName}.log
%消息%n
您可以使用

这样,您就有了一个appender,可以动态地将日志划分为不同的文件

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