| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- package com.genersoft.iot.vmp.gb28181.conf;
- import gov.nist.core.StackLogger;
- import org.slf4j.LoggerFactory;
- import org.slf4j.spi.LocationAwareLogger;
- import org.springframework.stereotype.Component;
- import java.util.Properties;
- @Component
- public class StackLoggerImpl implements StackLogger {
- /**
- * 完全限定类名(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 String getLoggerName() {
- return null;
- }
- }
|