1. 程式人生 > >log4j2 自定義日誌級別

log4j2 自定義日誌級別

log4j內建日誌級別

注意 : intLevel 值越小,級別越高 (log4j2 官方文件)

 

自定義日誌級別

第一步 :宣告自定義級別 intLevel參考上面的值

<CustomLevels>
    <CustomLevel name="INITLEVEL" intLevel="240" />
</CustomLevels>

第二步 : 配置自定義級別輸出 

 

<loggers>
		 <root level="warn">
			<appender-ref ref="Console"/>
		</root> 
		<logger name="initLog" level="INITLEVEL" additivity="false">
			<appender-ref ref="Console" />
			
		</logger>
</loggers>

注意 : root的級別一定要比自定義級別高,要不然不能輸出。例如warn 的級別是300 ,自定義級別是350 ,那麼自定義級別的日誌就不能輸出了。

第三步:使用自定義級別:

private Logger log = LogManager.getLogger(ScheduleJobServiceImpl.class.getName());



log.log(Level.getLevel("INITLEVEL"), "初始化日誌輸出測試");

注:官方網站還給出了另一種自定義級別的使用方式。

private static final ExtLogger logger = ExtLogger.create(MyService.class);


//自定義級別
logger.diag("another message");

看起來程式碼更簡介,更易用,

但是需要自己寫個日誌的擴充套件物件。有機會的話日後補充。