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 對象
