Java 类ch.qos.logback.core.encoder.LayoutWrappingEncoder 实例源码

项目:app-ms    文件:LogConfigurator.java   
@Override
public void configure(final LoggerContext lc) {

    final ConsoleAppender<ILoggingEvent> ca = new ConsoleAppender<>();
    ca.setContext(lc);
    ca.setName("console");
    final LayoutWrappingEncoder<ILoggingEvent> encoder = new LayoutWrappingEncoder<>();
    encoder.setContext(lc);
    final TTLLLayout layout = new TTLLLayout();
    layout.setContext(lc);
    layout.start();
    encoder.setLayout(layout);
    ca.setEncoder(encoder);
    ca.start();
    final Logger rootLogger = lc.getLogger("ROOT");
    rootLogger.setLevel(Level.WARN);
    rootLogger.addAppender(ca);
}
项目:thirdcoast    文件:LoggingConfigurator.java   
@Override
public void configure(LoggerContext lc) {
  addInfo("Setting up robot logging configuration.");

  ConsoleAppender<ILoggingEvent> ca = new ConsoleAppender<>();
  ca.setContext(lc);
  ca.setName("console");
  LayoutWrappingEncoder<ILoggingEvent> encoder = new LayoutWrappingEncoder<>();
  encoder.setContext(lc);

  PatternLayout layout = new PatternLayout();
  layout.setPattern("%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n");

  layout.setContext(lc);
  layout.start();
  encoder.setLayout(layout);

  ca.setEncoder(encoder);
  ca.start();

  Logger rootLogger = lc.getLogger(Logger.ROOT_LOGGER_NAME);
  rootLogger.addAppender(ca);
  rootLogger.setLevel(Level.DEBUG);
}
项目:bartleby    文件:JoranConfiguratorTest.java   
@Test
public void encoderCharset() throws JoranException, IOException,
        InterruptedException {

  String configFileAsStr = ClassicTestConstants.JORAN_INPUT_PREFIX
          + "encoderCharset.xml";
  configure(configFileAsStr);

  ConsoleAppender<ILoggingEvent> consoleAppender = (ConsoleAppender<ILoggingEvent>) root.getAppender("CONSOLE");
  assertNotNull(consoleAppender);
  LayoutWrappingEncoder<ILoggingEvent> encoder = (LayoutWrappingEncoder<ILoggingEvent>) consoleAppender.getEncoder();

  assertEquals("UTF-8", encoder.getCharset().displayName());

  StatusChecker checker = new StatusChecker(loggerContext);
  checker.assertIsErrorFree();
}
项目:Blizcord    文件:Log.java   
private static void setupOwnLogger() {
    LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();

    logger = (Logger) LoggerFactory.getLogger(Values.BOT_NAME);
    ConsoleAppender<ILoggingEvent> consoleAppender = new ConsoleAppender<>();
    consoleAppender.setContext(lc);
    consoleAppender.setName("console");
    LayoutWrappingEncoder<ILoggingEvent> encoder = new LayoutWrappingEncoder<>();

    PatternLayout layout = new PatternLayout();
    layout.setPattern("[%d{HH:mm:ss}] [%level] [%logger] %msg%n");
    layout.setContext(lc);
    layout.start();
    encoder.setLayout(layout);

    consoleAppender.setEncoder(encoder);
    consoleAppender.start();

    // disable default appender
    logger.setAdditive(false);

    // enable custom console appender
    logger.addAppender(consoleAppender);

    // set logging level
    if(a.isDebug()) {
        logger.setLevel(Level.DEBUG);
    } else {
        logger.setLevel(Level.INFO);
    }
}
项目:uroborosql    文件:AbstractEncodedAppender.java   
/**
 * レイアウトの設定<br>
 * 通常は {@link #setEncoder(Encoder)}を利用する
 *
 * @param layout {@code <layout>}
 */
public void setLayout(Layout<E> layout) {
    LayoutWrappingEncoder<E> lwe = new LayoutWrappingEncoder<>();
    lwe.setLayout(layout);
    lwe.setContext(this.context);
    this.encoder = lwe;
}
项目:uroborosql    文件:AbstractEncodedAppender.java   
/**
 * Charset取得 (取れる範囲で)
 *
 * @return Charset
 */
protected Charset getCharset() {

    Charset charset = null;
    if (this.encoder instanceof LayoutWrappingEncoder) {
        charset = ((LayoutWrappingEncoder<?>) this.encoder).getCharset();
    }
    return charset != null ? charset : Charset.defaultCharset();

}
项目:thirdcoast    文件:LoggingConfigurator.java   
@Override
public void configure(LoggerContext lc) {
  addInfo("Setting up robot logging configuration.");

  FileAppender<ILoggingEvent> fa = new FileAppender<>();
  fa.setFile("tct.log");
  fa.setAppend(true);
  ConsoleAppender<ILoggingEvent> ca = new ConsoleAppender<>();
  ca.setContext(lc);
  ca.setName("console");
  fa.setContext(lc);
  fa.setName("logfile");
  LayoutWrappingEncoder<ILoggingEvent> encoder = new LayoutWrappingEncoder<>();
  encoder.setContext(lc);

  PatternLayout layout = new PatternLayout();
  layout.setPattern("%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n");

  layout.setContext(lc);
  layout.start();
  encoder.setLayout(layout);

  ca.setEncoder(encoder);
  //    ca.start();
  fa.setEncoder(encoder);
  fa.start();

  Logger rootLogger = lc.getLogger(Logger.ROOT_LOGGER_NAME);
  //    rootLogger.addAppender(ca);
  rootLogger.addAppender(fa);
  rootLogger.setLevel(Level.WARN);
}
项目:wingman    文件:Main.java   
/**
 * Sets up SLF4J logging for {@link System#out} and {@link System#err} at INFO level.
 * The logger also logs to {@link ClientSettings#LOGGING_FILE}, with the same format as for the console.
 */
private static void setupConsoleLogging() {
    Logger root = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
    root.setLevel(Level.INFO);

    ConsoleAppender<ILoggingEvent> consoleAppender =
            (ConsoleAppender<ILoggingEvent>) root.getAppender("console");

    LayoutWrappingEncoder<ILoggingEvent> consoleWrappingEncoder =
            (LayoutWrappingEncoder<ILoggingEvent>) consoleAppender.getEncoder();

    LayoutWrappingEncoder<ILoggingEvent> encoder = new LayoutWrappingEncoder<>();
    encoder.setLayout(consoleWrappingEncoder.getLayout());
    encoder.setCharset(Charset.forName("UTF-16"));
    encoder.setContext(root.getLoggerContext());
    encoder.start();

    FileAppender<ILoggingEvent> logFileAppender = new FileAppender<>();
    logFileAppender.setFile(ClientSettings.LOGGING_FILE);
    logFileAppender.setContext(root.getLoggerContext());
    logFileAppender.setEncoder(encoder);
    logFileAppender.setAppend(false);
    logFileAppender.start();

    root.addAppender(logFileAppender);

    SysOutOverSLF4J.sendSystemOutAndErrToSLF4J();
}
项目:gadgetbridge_artikcloud    文件:Logging.java   
public boolean setImmediateFlush(boolean enable) {
    FileAppender<ILoggingEvent> fileLogger = getFileLogger();
    Encoder<ILoggingEvent> encoder = fileLogger.getEncoder();
    if (encoder instanceof LayoutWrappingEncoder) {
        ((LayoutWrappingEncoder) encoder).setImmediateFlush(enable);
        return true;
    }
    return false;
}
项目:gadgetbridge_artikcloud    文件:Logging.java   
public boolean isImmediateFlush() {
    FileAppender<ILoggingEvent> fileLogger = getFileLogger();
    Encoder<ILoggingEvent> encoder = fileLogger.getEncoder();
    if (encoder instanceof LayoutWrappingEncoder) {
        return ((LayoutWrappingEncoder) encoder).isImmediateFlush();
    }
    return false;
}
项目:bartleby    文件:OutputStreamAppender.java   
public void setLayout(Layout<E> layout) {
  addWarn("This appender no longer admits a layout as a sub-component, set an encoder instead.");
  addWarn("To ensure compatibility, wrapping your layout in LayoutWrappingEncoder.");
  addWarn("See also "+CODES_URL+"#layoutInsteadOfEncoder for details");
  LayoutWrappingEncoder<E> lwe = new LayoutWrappingEncoder<E>();
  lwe.setLayout(layout);
  lwe.setContext(context);
  this.encoder = lwe;
}
项目:bartleby    文件:OutputStreamAppenderTest.java   
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));
}
项目:bartleby    文件:LayoutInsteadOfEncoderTest.java   
@Test
public void layoutInsteadOfEncoer() throws JoranException {
  jc.doConfigure(ClassicTestConstants.JORAN_INPUT_PREFIX
      + "compatibility/layoutInsteadOfEncoder.xml");
  StatusPrinter.print(loggerContext);
  StatusChecker checker = new StatusChecker(loggerContext);
  checker.assertContainsMatch(Status.WARN, "This appender no longer admits a layout as a sub-component");
  checker.assertContainsMatch(Status.WARN, "See also "+CODES_URL+"#layoutInsteadOfEncoder for details");

  ch.qos.logback.classic.Logger root = (ch.qos.logback.classic.Logger) loggerContext.getLogger(Logger.ROOT_LOGGER_NAME);
  FileAppender<ILoggingEvent> fileAppender = (FileAppender<ILoggingEvent>) root.getAppender("LIOE");
  assertTrue(fileAppender.isStarted());
  assertTrue(fileAppender.getEncoder() instanceof LayoutWrappingEncoder);
}
项目:psi-probe    文件:LogbackAppenderAccessor.java   
@Override
public String getEncoding() {
  if (getTarget() instanceof OutputStreamAppender) {
    OutputStreamAppender<?> appender = (OutputStreamAppender<?>) getTarget();
    Encoder<?> encoder = appender.getEncoder();
    if (encoder instanceof LayoutWrappingEncoder) {
      LayoutWrappingEncoder<?> base = (LayoutWrappingEncoder<?>) encoder;
      if (base.getCharset() != null) {
        return base.getCharset().name();
      }
      return null;
    }
  }
  return null;
}
项目:bootique-logback    文件:FileAppenderFactory.java   
@Override
public Appender<ILoggingEvent> createAppender(LoggerContext context, String defaultLogFormat) {

    LayoutWrappingEncoder<ILoggingEvent> encoder = new LayoutWrappingEncoder<>();
    encoder.setLayout(createLayout(context, defaultLogFormat));

    FileAppender<ILoggingEvent> appender = (rollingPolicy == null)
            ? createSingleFileAppender(encoder, context)
            : createRollingFileAppender(encoder, context, rollingPolicy);

    return asAsync(appender);
}
项目:bootique-logback    文件:ConsoleAppenderFactory.java   
protected ConsoleAppender<ILoggingEvent> createConsoleAppender(LoggerContext context, String defaultLogFormat) {
    ConsoleAppender<ILoggingEvent> appender = new ConsoleAppender<>();
    appender.setName("console");
    appender.setContext(context);
    appender.setTarget(target.getLogbackTarget());

    LayoutWrappingEncoder<ILoggingEvent> layoutEncoder = new LayoutWrappingEncoder<>();
    layoutEncoder.setLayout(createLayout(context, defaultLogFormat));
    appender.setEncoder(layoutEncoder);

    appender.start();

    return appender;
}
项目:logback-ext    文件:EncodingStringAppender.java   
public final void setCharset(Charset charset) {
    if (encoder instanceof LayoutWrappingEncoder) {
        ((LayoutWrappingEncoder<?>) encoder).setCharset(charset);
    } else if (encoder instanceof CharacterEncoder) {
        ((CharacterEncoder<?>) encoder).setCharset(charset);
    }
    this.charset = charset;
}
项目:Phial    文件:PhialLogger.java   
/**
 * Creates Logger that will write logs in html file using slf4j and logback.
 * The logs will be included in Phial Attachment
 *
 * @param context application context
 */
public PhialLogger(Context context) {
    logDir = createLogDir(context);
    clearOldLogs(logDir);

    final String logDirectory = logDir.getAbsolutePath();
    // reset the default context (which may already have been initialized)
    // since we want to reconfigure it
    LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
    loggerContext.reset();

    RollingFileAppender<ILoggingEvent> rollingFileAppender = new RollingFileAppender<>();
    rollingFileAppender.setContext(loggerContext);
    rollingFileAppender.setAppend(true);
    rollingFileAppender.setFile(logDirectory + "/" + LOG_PREFIX + "-latest.html");

    SizeAndTimeBasedFNATP<ILoggingEvent> fileNamingPolicy = new SizeAndTimeBasedFNATP<>();
    fileNamingPolicy.setContext(loggerContext);
    fileNamingPolicy.setMaxFileSize(MAX_FILE_SIZE);

    TimeBasedRollingPolicy<ILoggingEvent> rollingPolicy = new TimeBasedRollingPolicy<>();
    rollingPolicy.setContext(loggerContext);
    rollingPolicy.setFileNamePattern(logDirectory + "/" + LOG_PREFIX + HISTORY_FILE_NAME_PATTERN);
    rollingPolicy.setMaxHistory(5);
    rollingPolicy.setTimeBasedFileNamingAndTriggeringPolicy(fileNamingPolicy);
    rollingPolicy.setParent(rollingFileAppender);  // parent and context required!
    rollingPolicy.start();

    HTMLLayout htmlLayout = new HTMLLayout();
    htmlLayout.setContext(loggerContext);
    htmlLayout.setPattern(PATTERN);
    htmlLayout.start();

    LayoutWrappingEncoder<ILoggingEvent> encoder = new LayoutWrappingEncoder<>();
    encoder.setContext(loggerContext);
    encoder.setLayout(htmlLayout);
    encoder.start();

    rollingFileAppender.setRollingPolicy(rollingPolicy);
    rollingFileAppender.setEncoder(encoder);
    rollingFileAppender.start();

    // add the newly created appenders to the root logger;
    // qualify Logger to disambiguate from org.slf4j.Logger
    Logger root = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
    root.setLevel(Level.DEBUG);
    root.addAppender(rollingFileAppender);
    // print any status messages (warnings, etc) encountered in logback config
    StatusPrinter.print(loggerContext);
}
项目:uavstack    文件:LogBackHookProxy.java   
private void figureoutLogConfiguration(Logger Logger, LinkedList<LogProfileInfo> list, String appid) {

        Iterator<Appender<ILoggingEvent>> appenders = Logger.iteratorForAppenders();

        while (appenders != null && appenders.hasNext()) {

            LogProfileInfo logProfileInfo = new LogProfileInfo();

            if (appid != null) {
                logProfileInfo.setAppId(appid);
            }

            logProfileInfo.setLogType(LogProfileInfo.LogType.Log4j);

            Map<String, String> attributes = new HashMap<String, String>();

            attributes.put(LogProfileInfo.ENGINE, "logback");

            Appender<ILoggingEvent> appender = appenders.next();

            if (!(appender instanceof FileAppender<?>)) {
                continue;
            }

            FileAppender<ILoggingEvent> fileAppender = (FileAppender<ILoggingEvent>) appender;
            @SuppressWarnings("rawtypes")
            LayoutWrappingEncoder encoder = (LayoutWrappingEncoder) fileAppender.getEncoder();

            Layout<?> layout = encoder.getLayout();

            if (null != layout) {

                if (layout instanceof PatternLayout) {
                    PatternLayout patternLayout = (PatternLayout) encoder.getLayout();
                    attributes.put(LogProfileInfo.PATTERN, patternLayout.getPattern());
                }
                else if (layout instanceof HTMLLayout) {
                    attributes.put(LogProfileInfo.PATTERN, "HTMLLayout");
                }
                else if (layout instanceof XMLLayout) {
                    attributes.put(LogProfileInfo.PATTERN, "XMLLayout");
                }
                else if (layout instanceof TTLLLayout) {
                    attributes.put(LogProfileInfo.PATTERN, "TTCCLayout");
                }
            }

            logProfileInfo.setFilePath(fileAppender.getFile());
            logProfileInfo.setAttributes(attributes);

            list.add(logProfileInfo);

        }
    }
项目:logback-redmine-appender    文件:RedmineAppender.java   
public LayoutWrappingEncoder<ILoggingEvent> getEncoder() {
    return encoder;
}
项目:logback-redmine-appender    文件:RedmineAppender.java   
public void setEncoder(LayoutWrappingEncoder<ILoggingEvent> encoder) {
    this.encoder = encoder;
}
项目:logback-ext    文件:EncodingStringAppender.java   
public final void setLayout(Layout<E> layout) {
    LayoutWrappingEncoder<E> enc = new LayoutWrappingEncoder<>();
    enc.setLayout(layout);
    setEncoder(enc);
}
项目:splunk-logback    文件:SplunkSocketAppenderBase.java   
protected void configEncoderToUtf8IfNecessary() {
    Encoder<ILoggingEvent> layoutWrappingEncoder = getEncoder();
    if (layoutWrappingEncoder instanceof LayoutWrappingEncoder<?>) {
        ((LayoutWrappingEncoder<?>) layoutWrappingEncoder).setCharset(Charset.forName("UTF-8"));
    }
}