Class LogFactory

java.lang.Object
com.aizuda.snailjob.common.log.factory.LogFactory
Direct Known Subclasses:
ConsoleColorLogFactory, ConsoleLogFactory, JdkLogFactory, Log4j2LogFactory, Slf4jLogFactory

public abstract class LogFactory extends Object
日志工厂类
Author:
wodeyangzipingpingwuqi
  • Field Details

    • name

      protected String name
      日志框架名,用于打印当前所用日志框架
  • Constructor Details

    • LogFactory

      public LogFactory(String name)
      构造
      Parameters:
      name - 日志框架名
  • Method Details

    • getName

      public String getName()
      获取日志框架名,用于打印当前所用日志框架
      Returns:
      日志框架名
      Since:
      4.1.21
    • getLog

      public Log getLog(String name)
      获得日志对象
      Parameters:
      name - 日志对象名
      Returns:
      日志对象
    • getLog

      public Log getLog(Class<?> clazz)
      获得日志对象
      Parameters:
      clazz - 日志对应类
      Returns:
      日志对象
    • createLog

      public abstract Log createLog(String name)
      创建日志对象
      Parameters:
      name - 日志对象名
      Returns:
      日志对象
    • createLog

      public abstract Log createLog(Class<?> clazz)
      创建日志对象
      Parameters:
      clazz - 日志对应类
      Returns:
      日志对象
    • checkLogExist

      protected void checkLogExist(Class<?> logClassName)
      检查日志实现是否存在
      此方法仅用于检查所提供的日志相关类是否存在,当传入的日志类类不存在时抛出ClassNotFoundException
      此方法的作用是在detectLogFactory方法自动检测所用日志时,如果实现类不存在,调用此方法会自动抛出异常,从而切换到下一种日志的检测。
      Parameters:
      logClassName - 日志实现相关类
    • getCurrentLogFactory

      public static LogFactory getCurrentLogFactory()
      Returns:
      当前使用的日志工厂
    • setCurrentLogFactory

      public static LogFactory setCurrentLogFactory(Class<? extends LogFactory> logFactoryClass)
      自定义日志实现
      Parameters:
      logFactoryClass - 日志工厂类
      Returns:
      自定义的日志工厂类
    • setCurrentLogFactory

      public static LogFactory setCurrentLogFactory(LogFactory logFactory)
      自定义日志实现
      Parameters:
      logFactory - 日志工厂类对象
      Returns:
      自定义的日志工厂类
    • get

      public static Log get(String name)
      获得日志对象
      Parameters:
      name - 日志对象名
      Returns:
      日志对象
    • get

      public static Log get(Class<?> clazz)
      获得日志对象
      Parameters:
      clazz - 日志对应类
      Returns:
      日志对象
    • get

      public static Log get()
      Returns:
      获得调用者的日志
    • create

      public static LogFactory create()
      决定日志实现

      依次按照顺序检查日志库的jar是否被引入,如果未引入任何日志库,则检查ClassPath下的logging.properties,存在则使用JdkLogFactory,否则使用ConsoleLogFactory

      Returns:
      日志实现类
    • extractThrowable

      public static Throwable extractThrowable(Object... arguments)