栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java以编程方式配置Log4j记录器

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java以编程方式配置Log4j记录器

你可以通过编程将Appender添加/删除到Log4j:

  ConsoleAppender console = new ConsoleAppender(); //create appender  //configure the appender  String PATTERN = "%d [%p|%c|%C{1}] %m%n";  console.setLayout(new PatternLayout(PATTERN));   console.setThreshold(Level.FATAL);  console.activateOptions();  //add appender to any Logger (here is root)  Logger.getRootLogger().addAppender(console);  FileAppender fa = new FileAppender();  fa.setName("FileLogger");  fa.setFile("mylog.log");  fa.setLayout(new PatternLayout("%d %-5p [%c{1}] %m%n"));  fa.setThreshold(Level.DEBUG);  fa.setAppend(true);  fa.activateOptions();  //add appender to any Logger (here is root)  Logger.getRootLogger().addAppender(fa);  //repeat with all other desired appenders

我建议你将其放在某个地方的init()中,你可以确定该位置将在其他任何地方执行。然后,你可以使用以下命令删除根记录器上的所有现有附加程序

 Logger.getRootLogger().getLoggerRepository().resetConfiguration();

然后添加你自己的 当然,你需要在类路径中使用log4j才能起作用。

备注:
你可以

Logger.getLogger(...)
添加任何你喜欢的添加器。我只是使用了根记录器,因为它位于所有内容的底部,并且将处理通过其他类别中的其他附加程序传递的所有内容(除非通过设置加性标志进行其他配置)。

如果你需要了解日志记录的工作原理以及如何确定日志记录的位置,请阅读本手册,以获取有关此内容的更多信息。
简而言之:

  Logger fizz = LoggerFactory.getLogger("com.fizz")

将为你提供“ com.fizz”类别的记录器。
对于上面的示例,这意味着用它记录的所有内容都将被引用到根记录器上的控制台和文件附加器。
如果将附加器添加到Logger.getLogger(“ com.fizz”)。addAppender(newAppender),

fizz
则将从根记录器和的所有附加器处理日志记录
newAppender

你无需使用配置创建Logger,而只是为系统中所有可能的类别提供处理程序。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/441936.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号