private static final Logger logger= LoggerFactory.getLogger(ShiroConfig.class);
(1)出于资源利用的考虑,Logger的构造方法参数是Class,决定了Logger是根据类的结构来进行区分日志,所以一个类只要一个Logger就可以了,故static
(2)final表示一种编程习惯,表示该类的Logger只是记录该类的信息,否则日志会无法提供可以令人信服的记录
定义成static final,logger变量不可变,读取速度快
static 修饰的变量是不管创建了new了多少个实例,也只创建一次,节省空间,如果每次都创建Logger的话比较浪费内存;final修饰表示不可更改,常量
将域定义为static,每个类中只有一个这样的域.而每一个对象对于所有的实例域却都有自己的一份拷贝.,用static修饰既节约空间,效率也好。final 是本 logger 不能再指向其他 Logger 对象
一般没有应用到实例的方法或者变量都要求定义成static,避免内存不断被分配和回收,还有不做修改的变量还要加final修饰符,因此应该是private static final Logger logger = Logger.getLogger(myclass.class);
本文介绍了在Java项目中如何合理地使用Logger进行日志记录。通过设置Logger为static final,可以确保每个类只需要一个Logger实例,这有助于节省内存并提高读取速度。此外,文章还解释了为什么使用此类配置方式能够提升程序的稳定性和可维护性。
671

被折叠的 条评论
为什么被折叠?



