idea快捷新增列印日誌語句
阿新 • • 發佈:2021-07-07
一、需求背景
不想在程式碼裡再手寫類似於private static final Logger logger = LoggerFactory.getLogger(TestClass.class);的語句,提高效率。
二、解決方案
使用Idea Live Templates程式碼模板技術
實時模板可讓您快速、高效、準確地將常用或自定義程式碼結構插入到原始碼檔案中。
三、詳細步驟
Settings-->Editor-->Live Templates...
1、新建模板組(Template Group),因為好分類
2、新建模板(Live Template)
3、編寫模板
Abbreviation:模板的縮略名稱,如loggerDefineStatic;
Template text:模板的程式碼片段,可以用自定義變數。如這裡的:
private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger($CLASS_NAME$.class);
4、自定義變數
這裡我們自定義了CLASS變數(使用時需要前後都加上$),但Idea並不識別,這就需要對自定義的變數進行編輯,Edit Variables。
- Name:我們的自定義變數名稱;
- Expression:變數替換表示式,這裡我們使用了Idea模板支援的內建函式className()表示類名,更多的內建函式參考: Creating and Editing Template Variables
- Default value:表示式計算失敗時的預設值。
5、設定應用範圍
模板程式碼設定完後,我們還要設定其應用範圍,即loggerDefineStatic在哪裡會生效。
在這裡我們選擇java 的Statement、Expression、Declaration
6、簡單驗證
next
四、常用模板
1、loggerDefineStatic
private static final Logger logger = LoggerFactory.getLogger($CLASS_NAME$.class);
CLASS_NAME
className()
2、loggerDefineThis
private final Logger logger = LoggerFactory.getLogger(this.getClass());
3、logStart
logger.info("op=start_$METHOD_NAME$, $PARAMS_FORMAT$", $PARAMS$);
METHOD_NAME
methodName()
參考部落格:
知道、想到、做到、得到