猿问

java Logger 定义方式

定义Logger有两种方式, 如下:


第一种:


private static final Logger logger = LoggerFactory.getLogger(XX.class);

第二种:


protected final Logger logger = LoggerFactory.getLogger(getClass());


这两种方式哪种更好? 我个人更倾向于第二种. 求教高手.


临摹微笑
浏览 826回答 7
7回答

守着星空守着你

一般都是第一种吧,能private就尽量private,static final作为一个常量。

慕标5832272

看你的需要 如果有些别的类需要和设置了logger的类打印在同一个日志下 那么你甚至可以设置成public的 只要知道一个logger最终可以分解成一个日志文件 就可以知道怎么设置限制范围了

蓝山帝景

一般用第一种,用了第二种定义的话,如果你的类里面有静态方法,那在这个静态方法里面那就用不了这个logger对象了,至于访问修饰符,能private的话还是尽量private吧,除非你有特殊需求

LEATH

我一般写的第一种,所以也推荐啦。XX.class 应该比getClass()性能好。

Helenr

使用lombok@Slf4jpublic class Test {}take it easy
随时随地看视频慕课网APP

相关分类

Java
我要回答