Log4j,基于.getLogger(“”)参数的动态文件名

时间:2012-11-01 03:05:31

标签: log4j

我的应用程序控制任意数量的设备。我想拥有每个设备的日志文件。基本上,我希望能够调用LogManager.getLogger(deviceId)并记录相应的内容。

我在这里和其他网站上查看了很多主题,但我仍然不确定它是否可行。我不太确定我是应该扩展一个扩展器还是一个记录器。

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

一种解决方案虽然不是最佳解决方案,但却是在设备对象的构造函数中添加一个fileappender:

String device = "thing"
Logger log1 = Logger.getLogger("org.path."+device);
log1.setAdditivity(false);
log1.addAppender(new FileAppender(new SimpleLayout(), "org.path."+device ));