SpringBoot日志级别(logging.level)可以指定到方法吗?

哎码 发布于 2020/03/17 16:03
阅读 1K+
收藏 1

如图所示,第一行注释到部分打开后,com.example.test.TestClass 这个类中到log会被打开。

现在希望单独指定这个类中两个方法的日志级别,请问可以实现吗?

加载中
1
M
Mzoro

可以吧,但是这个Logger不能做为类的属性来声明了,需要在方法内声明一个局部变量大概是这样

public void testLogger(){
  Logger logger = LoggerFactory.getLogger("com.example.test.TestClass#methodFirst");
}

但了有注意的地方,这个Logger是 com.example.test 的子logger,而不是com.example.test.TestClass的子Logger,也就是说 设置 com.example.test这个Logger会影响com.example.test.TestClass#methodFirst,但是设置com.example.test.TestClass不会对 com.example.test.TestClass#methodFirst 有影响,因为Logger的父子关系是以点来分的,而不是#号。

你还可以在#号前加个点,com.example.test.TestClass.#methodFirst,这样应该能满足你的需要。就是不好看。

你也不用过人担心性能,只为getLogger方法先在缓存中取;

最后说一句,上面都是经验推导,没有实验,如果你试了可以麻烦回头吱个声,嘿嘿

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部