2017-08-14 44 views
2

AFAIK log4j2属性文件中的包/类的记录器级别应设置如下。log4j2.properties将记录器级别设置为多个包

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

所以,如果我有50班/包来指定,它意味着我必须在loggers 50项和记录的50对每个namelevel

是不是有一种替代方法可以用一条线为每个记录器完成,因此可以在50行中完成?

+0

没有,你可以使用像 '记录器记录= Logger.getLogger(MyClass.class);' 在每一节课要登录 – jr593

回答

1

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

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

有关更多详细信息,请查找here中的“带属性的配置”部分。

0
  • 属性文件配置不同级别的日志是在外部librairies的情况下,主要是有用的(例如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"); 
0

您可以指定日志......每个包。就像这样:

logger.mongodb.name = org.mongodb.driver 
logger.mongodb.level = warn 

logger.ehcache.name = org.ehcache.core 
logger.ehcache.level = warn 
相关问题