From 360fe689b1df765ca6754d32921c1ee18f9e9c00 Mon Sep 17 00:00:00 2001 From: xubinbin <1323875150@qq.com> Date: Tue, 12 Dec 2023 16:41:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=97=A5=E5=BF=97=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E6=97=B6=E7=9A=84=E5=AE=8C=E5=85=A8=E9=99=90=E5=AE=9A?= =?UTF-8?q?=E7=B1=BB=E5=90=8D=EF=BC=8C=E7=94=A8=E4=BA=8E=E5=AE=9A=E4=BD=8D?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E4=BD=8D=E7=BD=AE=E3=80=82=20ps=EF=BC=9A2023?= =?UTF-8?q?-12-12=2016:30:58.779=20[Thread-10]=20=20INFO=20---=20gov.nist.?= =?UTF-8?q?javax.sip.stack.UDPMessageChannel=20:=2081=20Done=20processing?= =?UTF-8?q?=20MESSAGE=20sip:44010200492000000003@4401020049=20SIP/2.0=20?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E4=B8=AD=E7=9A=84=E2=80=9Cgov.nist.javax.sip?= =?UTF-8?q?.stack.UDPMessageChannel=E2=80=9D=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iot/vmp/gb28181/conf/StackLoggerImpl.java | 176 +++++++++++------- 1 file changed, 104 insertions(+), 72 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/conf/StackLoggerImpl.java b/src/main/java/com/genersoft/iot/vmp/gb28181/conf/StackLoggerImpl.java index 5e67bdba..bab02856 100755 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/conf/StackLoggerImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/conf/StackLoggerImpl.java @@ -1,8 +1,8 @@ package com.genersoft.iot.vmp.gb28181.conf; import gov.nist.core.StackLogger; -import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.slf4j.spi.LocationAwareLogger; import org.springframework.stereotype.Component; import java.util.Properties; @@ -10,100 +10,132 @@ import java.util.Properties; @Component public class StackLoggerImpl implements StackLogger { - private final static Logger logger = LoggerFactory.getLogger(StackLoggerImpl.class); + /** + * 完全限定类名(Fully Qualified Class Name),用于定位日志位置 + */ + private static final String FQCN = StackLoggerImpl.class.getName(); - @Override - public void logStackTrace() { + /** + * 获取栈中类信息(以便底层日志记录系统能够提取正确的位置信息(方法名、行号)) + * @return LocationAwareLogger + */ + private static LocationAwareLogger getLocationAwareLogger() { + return (LocationAwareLogger) LoggerFactory.getLogger(new Throwable().getStackTrace()[4].getClassName()); + } - } - @Override - public void logStackTrace(int traceLevel) { - System.out.println("traceLevel: " + traceLevel); - } + /** + * 封装打印日志的位置信息 + * @param level 日志级别 + * @param message 日志事件的消息 + */ + private static void log(int level, String message) { + LocationAwareLogger locationAwareLogger = getLocationAwareLogger(); + locationAwareLogger.log(null, FQCN, level, message, null, null); + } - @Override - public int getLineCount() { - return 0; - } + /** + * 封装打印日志的位置信息 + * @param level 日志级别 + * @param message 日志事件的消息 + */ + private static void log(int level, String message, Throwable throwable) { + LocationAwareLogger locationAwareLogger = getLocationAwareLogger(); + locationAwareLogger.log(null, FQCN, level, message, null, throwable); + } - @Override - public void logException(Throwable ex) { + @Override + public void logStackTrace() { - } + } - @Override - public void logDebug(String message) { -// logger.debug(message); - } + @Override + public void logStackTrace(int traceLevel) { + System.out.println("traceLevel: " + traceLevel); + } - @Override - public void logDebug(String message, Exception ex) { -// logger.debug(message); - } + @Override + public int getLineCount() { + return 0; + } - @Override - public void logTrace(String message) { - logger.trace(message); - } + @Override + public void logException(Throwable ex) { - @Override - public void logFatalError(String message) { -// logger.error(message); - } + } - @Override - public void logError(String message) { -// logger.error(message); - } + @Override + public void logDebug(String message) { + log(LocationAwareLogger.INFO_INT, message); + } - @Override - public boolean isLoggingEnabled() { - return true; - } + @Override + public void logDebug(String message, Exception ex) { + log(LocationAwareLogger.INFO_INT, message, ex); + } - @Override - public boolean isLoggingEnabled(int logLevel) { - return true; - } + @Override + public void logTrace(String message) { + log(LocationAwareLogger.INFO_INT, message); + } - @Override - public void logError(String message, Exception ex) { -// logger.error(message); - } + @Override + public void logFatalError(String message) { + log(LocationAwareLogger.INFO_INT, message); + } - @Override - public void logWarning(String message) { - logger.warn(message); - } + @Override + public void logError(String message) { + log(LocationAwareLogger.INFO_INT, message); + } - @Override - public void logInfo(String message) { - logger.info(message); - } + @Override + public boolean isLoggingEnabled() { + return true; + } - @Override - public void disableLogging() { + @Override + public boolean isLoggingEnabled(int logLevel) { + return true; + } - } + @Override + public void logError(String message, Exception ex) { + log(LocationAwareLogger.INFO_INT, message, ex); + } - @Override - public void enableLogging() { + @Override + public void logWarning(String message) { + log(LocationAwareLogger.INFO_INT, message); + } - } + @Override + public void logInfo(String message) { + log(LocationAwareLogger.INFO_INT, message); + } - @Override - public void setBuildTimeStamp(String buildTimeStamp) { + @Override + public void disableLogging() { - } + } - @Override - public void setStackProperties(Properties stackProperties) { + @Override + public void enableLogging() { - } + } - @Override - public String getLoggerName() { - return null; - } + @Override + public void setBuildTimeStamp(String buildTimeStamp) { + + } + + @Override + public void setStackProperties(Properties stackProperties) { + + } + + @Override + public String getLoggerName() { + return null; + } }