ch.qos.logback.core.OutputStreamAppender.setEncoder()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(11.0k)|赞(0)|评价(0)|浏览(99)

本文整理了Java中ch.qos.logback.core.OutputStreamAppender.setEncoder()方法的一些代码示例,展示了OutputStreamAppender.setEncoder()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。OutputStreamAppender.setEncoder()方法的具体详情如下:
包路径:ch.qos.logback.core.OutputStreamAppender
类名称:OutputStreamAppender
方法名:setEncoder

OutputStreamAppender.setEncoder介绍

暂无

代码示例

代码示例来源:origin: dropwizard/dropwizard

@Override
  public Appender<E> build(LoggerContext context, String applicationName, LayoutFactory<E> layoutFactory,
               LevelFilterFactory<E> levelFilterFactory, AsyncAppenderFactory<E> asyncAppenderFactory) {
    final OutputStreamAppender<E> appender = appender(context);
    final LayoutWrappingEncoder<E> layoutEncoder = new LayoutWrappingEncoder<>();
    layoutEncoder.setLayout(buildLayout(context, layoutFactory));
    appender.setEncoder(layoutEncoder);

    appender.addFilter(levelFilterFactory.build(threshold));
    getFilterFactories().forEach(f -> appender.addFilter(f.build()));
    appender.start();
    return wrapAsync(appender, asyncAppenderFactory);
  }
}

代码示例来源:origin: com.paypal.butterfly/butterfly-cli

@Override
  public void setVerboseMode(boolean verboseMode) {
    this.verboseMode = verboseMode;

    if (verboseMode) {
      PatternLayoutEncoder patternLayoutEncoder = new PatternLayoutEncoder();
      patternLayoutEncoder.setPattern("[%d{HH:mm:ss.SSS}] [%highlight(%level)] %msg%n");
      patternLayoutEncoder.setContext(loggerContext);
      patternLayoutEncoder.start();

      Appender<ILoggingEvent> consoleAppender = new ConsoleAppender();
      ((OutputStreamAppender) consoleAppender).setEncoder(patternLayoutEncoder);
      consoleAppender.setContext(loggerContext);
      consoleAppender.start();

      loggerContext.getLogger("com.paypal.butterfly.cli").detachAppender("CONSOLE");
      loggerContext.getLogger("ROOT").addAppender(consoleAppender);
//        } else {
      // TODO
    }
  }

代码示例来源:origin: kaklakariada/portmapper

private OutputStreamAppender<ILoggingEvent> createAppender(final OutputStream logMessageOutputStream,
    final Encoder<ILoggingEvent> encoder) {
  final OutputStreamAppender<ILoggingEvent> appender = new OutputStreamAppender<ILoggingEvent>();
  appender.setContext(loggerContext);
  appender.setEncoder(encoder);
  appender.setOutputStream(logMessageOutputStream);
  appender.setName(OUTPUT_STREAM_APPENDER_NAME);
  appender.start();
  return appender;
}

代码示例来源:origin: epam/DLab

/** Perform the base configure of appender.
 * @param context the context of logger.
 * @param appenderName the name of appender.
 * @param appender the class instance of appender.
 */
public void configure(LoggerContext context, String appenderName, OutputStreamAppender<ILoggingEvent> appender) {
  PatternLayoutEncoder encoder = new PatternLayoutEncoder();
  encoder.setPattern(logFormatPattern);
  encoder.setContext(context);
  encoder.start();
  appender.setContext(context);
  appender.setName(appenderName);
  appender.setEncoder(encoder);
  appender.start();
  Logger logger = context.getLogger(org.slf4j.Logger.ROOT_LOGGER_NAME);
  logger.addAppender(appender);
  logger.setAdditive(true);
}

代码示例来源:origin: epam/DLab

/** Perform the base configure of appender.
 * @param context the context of logger.
 * @param appenderName the name of appender.
 * @param appender the class instance of appender.
 */
public void configure(LoggerContext context, String appenderName, OutputStreamAppender<ILoggingEvent> appender) {
  PatternLayoutEncoder encoder = new PatternLayoutEncoder();
  encoder.setPattern(logFormatPattern);
  encoder.setContext(context);
  encoder.start();
  appender.setContext(context);
  appender.setName(appenderName);
  appender.setEncoder(encoder);
  appender.start();
  Logger logger = context.getLogger(org.slf4j.Logger.ROOT_LOGGER_NAME);
  logger.addAppender(appender);
  logger.setAdditive(true);
}

代码示例来源:origin: NationalSecurityAgency/emissary

private static OutputStreamAppender<ILoggingEvent> buildAppender(final Encoder<ILoggingEvent> encoder, final OutputStream outputStream) {
    OutputStreamAppender<ILoggingEvent> appender = new OutputStreamAppender<ILoggingEvent>();
    appender.setName("logcapture");
    appender.setContext(ContextSelectorStaticBinder.getSingleton().getContextSelector().getDefaultLoggerContext());
    appender.setEncoder(encoder);
    appender.setOutputStream(outputStream);
    appender.start();
    return appender;
  }
}

代码示例来源:origin: documents4j/documents4j

private static void configureLogging(File logFile, Level level) {
  LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
  OutputStreamAppender<ILoggingEvent> appender;
  if (logFile == null) {
    appender = configureConsoleLogging(loggerContext);
  } else {
    appender = configureFileLogging(logFile, loggerContext);
  }
  System.out.println("Logging: The log level is set to " + level);
  PatternLayoutEncoder patternLayoutEncoder = new PatternLayoutEncoder();
  patternLayoutEncoder.setPattern(LogDescription.LOG_PATTERN);
  patternLayoutEncoder.setContext(loggerContext);
  patternLayoutEncoder.start();
  appender.setEncoder(patternLayoutEncoder);
  appender.start();
  ch.qos.logback.classic.Logger rootLogger = loggerContext.getLogger(ch.qos.logback.classic.Logger.ROOT_LOGGER_NAME);
  loggerContext.stop();
  rootLogger.detachAndStopAllAppenders();
  rootLogger.addAppender(appender);
  rootLogger.setLevel(level);
  SLF4JBridgeHandler.removeHandlersForRootLogger();
  SLF4JBridgeHandler.install();
  LevelChangePropagator levelChangePropagator = new LevelChangePropagator();
  levelChangePropagator.setResetJUL(true);
  levelChangePropagator.setContext(loggerContext);
  levelChangePropagator.start();
  loggerContext.addListener(levelChangePropagator);
  loggerContext.start();
}

代码示例来源:origin: documents4j/documents4j

private static void configureLogging(File logFile, Level level) {
  LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
  OutputStreamAppender<ILoggingEvent> appender;
  if (logFile == null) {
    appender = configureConsoleLogging(loggerContext);
  } else {
    appender = configureFileLogging(logFile, loggerContext);
  }
  System.out.println("Logging: The log level is set to " + level);
  PatternLayoutEncoder patternLayoutEncoder = new PatternLayoutEncoder();
  patternLayoutEncoder.setPattern(LogDescription.LOG_PATTERN);
  patternLayoutEncoder.setContext(loggerContext);
  patternLayoutEncoder.start();
  appender.setEncoder(patternLayoutEncoder);
  appender.start();
  ch.qos.logback.classic.Logger rootLogger = loggerContext.getLogger(ch.qos.logback.classic.Logger.ROOT_LOGGER_NAME);
  loggerContext.stop();
  rootLogger.detachAndStopAllAppenders();
  rootLogger.addAppender(appender);
  rootLogger.setLevel(level);
  SLF4JBridgeHandler.removeHandlersForRootLogger();
  SLF4JBridgeHandler.install();
  LevelChangePropagator levelChangePropagator = new LevelChangePropagator();
  levelChangePropagator.setResetJUL(true);
  levelChangePropagator.setContext(loggerContext);
  levelChangePropagator.start();
  loggerContext.addListener(levelChangePropagator);
  loggerContext.start();
}

代码示例来源:origin: palantir/conjure-java-runtime

@Test
public void testLogAppenderCanAccessTraceId() throws Exception {
  // Augment logger with custom appender whose output we can read
  ch.qos.logback.classic.LoggerContext lc =
      (ch.qos.logback.classic.LoggerContext) LoggerFactory.getILoggerFactory();
  ch.qos.logback.classic.encoder.PatternLayoutEncoder ple =
      new ch.qos.logback.classic.encoder.PatternLayoutEncoder();
  ple.setPattern("traceId: %X{traceId} %-5level [%thread]: %message%n");
  ple.setContext(lc);
  ple.start();
  ch.qos.logback.core.OutputStreamAppender<ch.qos.logback.classic.spi.ILoggingEvent> appender =
      new ch.qos.logback.core.OutputStreamAppender<>();
  appender.setEncoder(ple);
  appender.setContext(lc);
  ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
  appender.setOutputStream(byteStream);
  appender.start();
  log.addAppender(appender);
  // Invoke server and observe servers log messages; note that the server uses the same logger at INFO.
  log.setLevel(ch.qos.logback.classic.Level.INFO);
  target.path("trace").request().header(TraceHttpHeaders.TRACE_ID, "myTraceId").get();
  Assert.assertThat(
      byteStream.toString(StandardCharsets.UTF_8.name()),
      Matchers.startsWith("traceId: myTraceId"));
}

代码示例来源:origin: io.airlift/rack-experimental

@Test
public void testSimpleRequestWithLogging()
    throws IOException, ServletException
{
  Logging.initialize();
  String expectedMessage = "FooBarBaz";
  OutputStream stream = new ByteArrayOutputStream();
  ch.qos.logback.classic.Logger rackLogger = (ch.qos.logback.classic.Logger) LoggerFactory.getLogger("helloworldsinatra.rb:HEAD /name-echo");
  rackLogger.setLevel(Level.ALL);
  LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
  PatternLayoutEncoder encoder = new PatternLayoutEncoder();
  encoder.setPattern("%m%n");
  encoder.setContext(context);
  encoder.start();
  OutputStreamAppender<ILoggingEvent> streamAppender = new OutputStreamAppender<ILoggingEvent>();
  streamAppender.setContext(context);
  streamAppender.setEncoder(encoder);
  streamAppender.setOutputStream(stream); // needs to happen after setEncoder()
  streamAppender.start();
  rackLogger.addAppender(streamAppender);
  assertEquals(performRequest("name=" + expectedMessage, "/name-echo", "", "GET"), expectedMessage);
  streamAppender.stop();
  Assertions.assertContains(stream.toString(), "name-echo was called with " + expectedMessage);
}

代码示例来源:origin: io.dropwizard/dropwizard-logging

@Override
  public Appender<E> build(LoggerContext context, String applicationName, LayoutFactory<E> layoutFactory,
               LevelFilterFactory<E> levelFilterFactory, AsyncAppenderFactory<E> asyncAppenderFactory) {
    final OutputStreamAppender<E> appender = appender(context);
    final LayoutWrappingEncoder<E> layoutEncoder = new LayoutWrappingEncoder<>();
    layoutEncoder.setLayout(buildLayout(context, layoutFactory));
    appender.setEncoder(layoutEncoder);

    appender.addFilter(levelFilterFactory.build(threshold));
    getFilterFactories().forEach(f -> appender.addFilter(f.build()));
    appender.start();
    return wrapAsync(appender, asyncAppenderFactory);
  }
}

代码示例来源:origin: tony19/logback-android

public void headerFooterCheck(String fileHeader, String presentationHeader, String presentationFooter, String fileFooter) {
 OutputStreamAppender<Object> wa = new OutputStreamAppender<Object>();
 wa.setContext(context);
 ByteArrayOutputStream baos = new ByteArrayOutputStream();
 SamplePatternLayout<Object> spl = new SamplePatternLayout<Object>();
 spl.setContext(context);

 spl.setFileHeader(fileHeader);
 spl.setPresentationHeader(presentationHeader);
 spl.setPresentationFooter(presentationFooter);
 spl.setFileFooter(fileFooter);

 spl.start();
 LayoutWrappingEncoder<Object> encoder = new LayoutWrappingEncoder<Object>();
 encoder.setLayout(spl);
 encoder.setContext(context);
 
 wa.setEncoder(encoder);
 wa.setOutputStream(baos);
 wa.start();
 
 wa.stop();
 String result = baos.toString();
 String expectedHeader = emtptyIfNull(fileHeader) + emtptyIfNull(presentationHeader);
 System.out.println(result);
 assertTrue(result, result.startsWith(expectedHeader));
 String expectedFooter = emtptyIfNull(presentationFooter) + emtptyIfNull(fileFooter);
 assertTrue(result, result.endsWith(expectedFooter));
}

代码示例来源:origin: com.ibm.mqlight/mqlight-api

appender = new OutputStreamAppender<>();
appender.setContext(context);
appender.setEncoder(patternLayoutEncoder);
appender.setOutputStream(logOutput.getPrintStream());
appender.setName(name);

相关文章