log4j2.properties将记录器级别设置为许多包

时间:2017-08-14 14:08:10

标签: java logging properties log4j2

AFAIK log4j2属性文件中包/类的记录器级别应设置如下。

loggers = abc
logger.abc.name = com.abc.MyClass
logger.abc.level = INFO

因此,如果我要指定50个类/包,是否意味着我必须在loggers中包含50个条目,并为每个namelevel添加50个条目。

是否有另一种方法可以为每个记录器使用一行,因此可以在50行中完成?

2 个答案:

答案 0 :(得分:1)

在名称中你可以放一个包(或子包),你不需要指定具体的类名;除非你明确想要该类的特定配置。

此外,您可以为不属于特定配置的所有类(rootLogger)指定默认配置。

查找"使用属性进行配置" here中的部分了解更多详情。

答案 1 :(得分:0)

  • 在属性文件中配置不同级别的日志对于外部库而言非常有用(例如,Hibernate日志可能非常详细)
  • 对于您的应用程序,更容易定义日志记录的根级别,并在您的代码中选择您想要的日志消息级别

属性文件

rootLogger.level = info

Java代码

final Level DEBUG = Level.forName("debug", 550); // could also be a custom level

final Logger logger = Logger.getLogger(MyClass.class);
logger.log(DEBUG, "a verbose message");