2017-08-14 41 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 
相關問題