xubinbin
2023-12-12 42a2772d1aa7493bcc4fac3e24ee8eda4eebc23d
src/main/java/com/genersoft/iot/vmp/gb28181/conf/StackLoggerImpl.java
old mode 100644 new mode 100755
@@ -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 @@
@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;
   }
}