我们的应用程序中有多个日志文件,如数据库日志,weblog,quartzlog。
来自package / app / database下的文件的任何日志都将转到数据库日志。 来自package / app / offline下的文件的任何日志都将转到quartzlog log。
我们现在需要的是 - 想要将/ app / database下的一个java文件中的日志文件导出到quartzlog而不是数据库日志。
我们如何在java文件中选择特定的日志文件?
答案 0 :(得分:1)
您需要定义登录所需文件的相应appender。阅读this short introduction,了解如何做到这一点。
然后在配置文件中,您可以指示来自特定包的所有邮件进入选定的appender:
log4j.logger.my.package = DEBUG, myFileAppender
修改强>
我相信在log4j中只能进行包解析 - 你不能为每个文件或方法使用appender。您可以尝试通过在log4j上添加额外的层或实现自己的appender来解决此问题。
例如,使用:
代替log.debugmy.loggerproxy.log.debug(message);
如果您只需要从单一方法中完成,那么上述就足够了。只需指示记录器代理包记录在不同的文件中。