log4j 默認log 輸出級別有 trace debug info warn error .想追加一種級別,在debug 和info 之間如何實作。
uj5u.com熱心網友回復:
加入類:
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.spi.AbstractLogger;
import org.apache.logging.log4j.spi.ExtendedLoggerWrapper;
/**log4j2日志擴展,支持業務日志
* 業務日志為最高級別
* 使用方式與擴展前基本相同:</br>
* 使用XXBizLogger log=XXBizLogger.getLogger(loggerName);</br>
* 替代原來的:Logger log=LogManager.getLogger(loggerName);</br>
* 記錄用于資料分析的業務日志 使用log.xxBiz(msg);</br>
*
*/
public final class XXBizLogger extends ExtendedLoggerWrapper {
private static final long serialVersionUID = 103418572168533L;
private final ExtendedLoggerWrapper logger;
private static final String FQCN = XXBizLogger.class.getName();
private static final Level XXBIZ = Level.forName("XXBIZ", 450);//要小于等于自定義的xml檔案中的等級
private XXBizLogger(final Logger logger) {
super((AbstractLogger) logger, logger.getName(), logger.getMessageFactory());
this.logger = this;
}
public static XXBizLogger getLogger() {
final Logger wrapped = LogManager.getLogger();
return new XXBizLogger(wrapped);
}
public static XXBizLogger getLogger(final Class<?> loggerName) {
final Logger wrapped = LogManager.getLogger(loggerName);
return new XXBizLogger(wrapped);
}
public void xxBiz(final String message) {
logger.logIfEnabled(FQCN, XXBIZ, null, message, (Throwable) null);
}
public void xxBiz(final String message, final Throwable t) {
logger.logIfEnabled(FQCN, XXBIZ, null, message, t);
}
}
使用:
logger.xxBiz("這是BIZ日志:"+ JSONUtil.toJsonStr(bizLog));
uj5u.com熱心網友回復:
參考一下:https://blog.csdn.net/gxdogjava/article/details/110163547uj5u.com熱心網友回復:
1.創建一個自定義級別的日志類uj5u.com熱心網友回復:
private static final Level CustomerLevel = new CustomerLogLevel(20050,"CUSTOMER",SyslogAppender.LOG_LOCAL0);2. 自己寫個過濾器
uj5u.com熱心網友回復:
public class CustomerLogFilter extends Filter轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/255368.html
標籤:Web 開發
