LoggerManager.java 1.1 KB

1234567891011121314151617181920212223242526272829
  1. package org.ssssssss.magicapi.logging;
  2. import org.slf4j.ILoggerFactory;
  3. import org.slf4j.Logger;
  4. import org.slf4j.LoggerFactory;
  5. public class LoggerManager {
  6. private static Logger logger = LoggerFactory.getLogger(LoggerManager.class);
  7. public static MagicLoggerContext createMagicAppender() {
  8. ILoggerFactory loggerFactory = LoggerFactory.getILoggerFactory();
  9. String loggerFactoryClassName = loggerFactory.getClass().getName();
  10. MagicLoggerContext magicLoggerContext = null;
  11. if ("ch.qos.logback.classic.LoggerContext".equalsIgnoreCase(loggerFactoryClassName)) { //logback
  12. magicLoggerContext = new LogbackLoggerContext();
  13. }else if("org.apache.logging.slf4j.Log4jLoggerFactory".equalsIgnoreCase(loggerFactoryClassName)){ //log4j2
  14. magicLoggerContext = new Log4j2LoggerContext();
  15. }else if ("org.slf4j.impl.Log4jLoggerFactory".equalsIgnoreCase(loggerFactoryClassName)) {
  16. magicLoggerContext = new Log4jLoggerContext();
  17. }
  18. if (magicLoggerContext == null) {
  19. logger.error("无法识别LoggerContext:{}", loggerFactoryClassName);
  20. }else{
  21. magicLoggerContext.generateAppender();
  22. }
  23. return magicLoggerContext;
  24. }
  25. }