1
我們有一個web服務器和多個用戶登錄到它。我們通常把日誌級別設置爲ERROR或INFO級別。但有時候,爲了調試的目的,我們需要看日誌。在運行時有one way來設置它,但是這個過程在流量負載情況下不太好。重要日誌將被錯過,並且我們也不知道我們需要多少時間來保持這種狀態。我已經在log4j v1.2中編寫了一個包裝器,它只是忽略了用戶標識屬於某個TestUsersList的級別檢查。因此,它僅打開特定用戶[一個線程]的所有日誌。一個片段是 -Log4j2,在運行時爲特定線程設置日誌級別
public void trace(Object message) {
Object diagValue = MDC.get(LoggerConstants.IS_ANALYZER_NUMBER);
if (valueToMatch.equals(diagValue)) { // Some condition to check test number
forcedLog(FQCN, Level.TRACE, message, null);
return;
}
if (repository.isDisabled(Level.TRACE_INT))
return;
if (Level.TRACE.isGreaterOrEqual(this.getEffectiveLevel()))
forcedLog(FQCN, Level.TRACE, message, null);
}
但現在我已經搬到了log4j2,我不想再寫這個包裝。 log4j2提供了哪些內置功能?