|
|
@@ -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();
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取栈中类信息(以便底层日志记录系统能够提取正确的位置信息(方法名、行号))
|
|
|
+ * @return LocationAwareLogger
|
|
|
+ */
|
|
|
+ private static LocationAwareLogger getLocationAwareLogger() {
|
|
|
+ return (LocationAwareLogger) LoggerFactory.getLogger(new Throwable().getStackTrace()[4].getClassName());
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 封装打印日志的位置信息
|
|
|
+ * @param level 日志级别
|
|
|
+ * @param message 日志事件的消息
|
|
|
+ */
|
|
|
+ private static void log(int level, String message) {
|
|
|
+ LocationAwareLogger locationAwareLogger = getLocationAwareLogger();
|
|
|
+ locationAwareLogger.log(null, FQCN, level, message, null, null);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 封装打印日志的位置信息
|
|
|
+ * @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 logStackTrace() {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void logStackTrace(int traceLevel) {
|
|
|
+ System.out.println("traceLevel: " + traceLevel);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int getLineCount() {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void logException(Throwable ex) {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void logDebug(String message) {
|
|
|
+ log(LocationAwareLogger.INFO_INT, message);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void logDebug(String message, Exception ex) {
|
|
|
+ log(LocationAwareLogger.INFO_INT, message, ex);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void logTrace(String message) {
|
|
|
+ log(LocationAwareLogger.INFO_INT, message);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void logFatalError(String message) {
|
|
|
+ log(LocationAwareLogger.INFO_INT, message);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void logError(String message) {
|
|
|
+ log(LocationAwareLogger.INFO_INT, message);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean isLoggingEnabled() {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ @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 logWarning(String message) {
|
|
|
+ log(LocationAwareLogger.INFO_INT, message);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void logInfo(String message) {
|
|
|
+ log(LocationAwareLogger.INFO_INT, message);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void disableLogging() {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void enableLogging() {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void setBuildTimeStamp(String buildTimeStamp) {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void setStackProperties(Properties stackProperties) {
|
|
|
|
|
|
- @Override
|
|
|
- public void logStackTrace() {
|
|
|
+ }
|
|
|
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void logStackTrace(int traceLevel) {
|
|
|
- System.out.println("traceLevel: " + traceLevel);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public int getLineCount() {
|
|
|
- return 0;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void logException(Throwable ex) {
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void logDebug(String message) {
|
|
|
-// logger.debug(message);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void logDebug(String message, Exception ex) {
|
|
|
-// logger.debug(message);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void logTrace(String message) {
|
|
|
- logger.trace(message);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void logFatalError(String message) {
|
|
|
-// logger.error(message);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void logError(String message) {
|
|
|
-// logger.error(message);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public boolean isLoggingEnabled() {
|
|
|
- return true;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public boolean isLoggingEnabled(int logLevel) {
|
|
|
- return true;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void logError(String message, Exception ex) {
|
|
|
-// logger.error(message);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void logWarning(String message) {
|
|
|
- logger.warn(message);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void logInfo(String message) {
|
|
|
- logger.info(message);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void disableLogging() {
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void enableLogging() {
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void setBuildTimeStamp(String buildTimeStamp) {
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void setStackProperties(Properties stackProperties) {
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public String getLoggerName() {
|
|
|
- return null;
|
|
|
- }
|
|
|
+ @Override
|
|
|
+ public String getLoggerName() {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
}
|