java使用log4j如何不用每次呼叫都宣告一下?
为情所困
为情所困 2017-05-17 10:04:39
0
3
581

每次寫個新的類,就要在下面聲明下:

private static Logger logger = Logger.getLogger(Test.class);  

這樣的話不是很麻煩嗎?有沒有辦法,把Logger設定成可以靜態呼叫的類,直接呼叫info,error等方法,同時還可以列印出目前類別、線程號等資訊?

为情所困
为情所困

全部回覆(3)
漂亮男人

你大可以簡單封裝一下實現你要的目的,例如建個類別把Logger封裝進去,暴露幾個靜態介面出來。至於為什麼很多程式碼書寫的時候寫成private static Logger logger = Logger.getLogger(Test.class);,其實主要是為了提高日誌的彈性、準確度等。

给我你的怀抱

看看這個 /a/11...

漂亮男人

聲明log是因为他可以定义不同的logger name可以通过logger name定制自己的输出方式, 比如level, appender...等

如果你的日誌是以相同的方式處理那你完全可以聲明公共的静态 log 对象, 需要的地方使用该log也不存在重複聲明的情況了.
如:

import static xxx.GlobalLogs.log;

log.debug("...");
log.info("...");
//...

當然你也可以用 lombok 的方式來簡化你的程式碼.

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!