文章詳情頁
java中使用log4j如何不用每次調用都聲明一下?
瀏覽:208日期:2023-12-06 14:26:54
問題描述
每次寫個新的類,就要在下面聲明下:
private static Logger logger = Logger.getLogger(Test.class);
這樣的話不是很麻煩嗎?有沒有什么辦法,把Logger設置成可以靜態調用的類,直接調用info,error等方法,同時還可以打印出當前類、線程號等信息?
問題解答
回答1:你大可以簡單封裝一下實現你要的目的,比如建個類把Logger封裝進去,暴露幾個靜態接口出來。至于為什么很多代碼書寫的時候寫成private static Logger logger = Logger.getLogger(Test.class);,其實主要是為了提高日志的靈活性、準確性等。
回答2:看看這個 /a/11...
回答3:聲明log是因為他可以定義不同的logger name可以通過logger name定制自己的輸出方式, 比如level, appender...等
如果你的日志是以相同的方式處理那你完全可以聲明公共的靜態 log 對象, 需要的地方使用該log也不存在重復聲明的情況了.如:
import static xxx.GlobalLogs.log;log.debug('...');log.info('...');//...
當然你還可以使用 lombok 的方式來簡化你的代碼.
標簽:
java
相關文章:
1. PHPExcel表格導入數據庫怎么導入2. python - sqlalchemy更新數據報錯3. javascript - 添加一個tr標簽到table標簽里,在控制臺顯示table標簽時,有2個子元素?我想要的是tr標簽包含到table標簽里面4. html - 網頁的a標簽到底要不要寫上域名?5. macos - 無法source activate python276. css - 移動端 盒子內加overflow-y:scroll后 字體會變大7. 運行python程序時出現“應用程序發生異?!钡膬却驽e誤?8. html5 - 前端面試碰到了一個緩存數據的問題,來論壇上請教一下9. 我在導入模板資源時遇到無法顯示的問題,請老師解答下10. javascript - react如何獲取offsetX?
排行榜

網公網安備