类org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender源码实例Demo

下面列出了怎么用org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: lucene-solr   文件: StartupLoggingUtils.java
/**
 * This is primarily for tests to insure that log messages don't bleed from one test case to another, see:
 * SOLR-13268.
 *
 * However, if there are situations where we want to insure that all log messages for all loggers are flushed,
 * this method can be called by anyone. It should _not_ affect Solr in any way except, perhaps, a slight delay
 * while messages are being flushed.
 *
 * Expert, there are rarely good reasons for this to be called outside of the test framework. If you are tempted to
 * call this for running Solr, you should probably be using synchronous logging.
 */
@SuppressForbidden(reason = "Legitimate log4j2 access")
public static void flushAllLoggers() {
  if (!isLog4jActive()) {
    logNotSupported("Not running log4j2, could not call shutdown for async logging.");
    return;
  }

  final LoggerContext logCtx = ((LoggerContext) LogManager.getContext(false));
  for (final org.apache.logging.log4j.core.Logger logger : logCtx.getLoggers()) {
    for (final Appender appender : logger.getAppenders().values()) {
      if (appender instanceof AbstractOutputStreamAppender) {
        ((AbstractOutputStreamAppender) appender).getManager().flush();
      }
    }
  }
}
 
源代码2 项目: FunnyGuilds   文件: LoggingUtils.java
public static void flushLogger(Logger rootLogger) {
    rootLogger.getAppenders().values()
              .stream()
              .filter(appender -> appender instanceof AbstractOutputStreamAppender)
              .map(appender -> (AbstractOutputStreamAppender) appender)
              .filter(appender -> ! appender.getImmediateFlush())
              .forEach(appender -> appender.getManager().flush());
}
 
 类所在包
 类方法
 同包方法