log4j中怎样将信息写入到不同的日志文件

log4j中怎样将信息写入到不同的日志文件

 

有没有想过为什么我们用:
Logger logger = Logger.getLogger(ABC.class) ;
来得到 logger?

不想只看人家的 demo, demo 毕竟是 Hello World 级别的简单入门样例,我们需要知道 API 是如何描述它们的。

Logger.getLogger() 除非用类当参数外还有用字符串当参数的,意思就是说“你可以给你的 Logger 取任意的名字,不是非要使用类名”。

上面这句话是说你可以在log4j.properties 里面配置:

Log4j.appender.FileAppenderA.file = a.log
...
Log4j.appender.FileAppenderB.file = a.log
...
Log4j.appender.FileAppenderB.file = a.log
...

Log4j.logger.MyABC1Logger = FileAppenderA
Log4j.logger.MyABC2Logger = FileAppenderB
Log4j.logger.MyABC3Logger = info,FileAppenderA,FileAppenderB,FileAppenderC

代码中一个类可以得到多个 logger,然后你想使用哪个就是随你的便了。
Logger loggerA = Logger.getLoger("MyABC1Logger ");
Logger loggerB = Logger.getLoger("MyABC2Logger ");
Logger loggerC = Logger.getLoger("MyABC3Logger ");

如果你选择了 logger C 的话,一次写入消息会同时出现在 3 个 appender 对应的日志文件中。

posted on 2016-04-07 15:47  Leoxlu  阅读(972)  评论(0编辑  收藏  举报

导航