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提供了哪些内置功能?