本文整理了Java中ch.qos.logback.core.OutputStreamAppender
类的一些代码示例,展示了OutputStreamAppender
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。OutputStreamAppender
类的具体详情如下:
包路径:ch.qos.logback.core.OutputStreamAppender
类名称:OutputStreamAppender
[英]OutputStreamAppender appends events to a OutputStream. This class provides basic services that other appenders build upon. For more information about this appender, please refer to the online manual at http://logback.qos.ch/manual/appenders.html#OutputStreamAppender
[中]OutputStreamAppender将事件附加到OutputStream。这个类提供了其他appender所依赖的基本服务。有关此附件的更多信息,请参阅联机手册:http://logback.qos.ch/manual/appenders.html#OutputStreamAppender
代码示例来源:origin: dropwizard/dropwizard
@Override
public void start() {
setOutputStream(datagramSocketOutputStream(host, port));
super.start();
}
代码示例来源: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: dropwizard/dropwizard
@Override
protected OutputStreamAppender<E> appender(LoggerContext context) {
final OutputStreamAppender<E> appender = new DropwizardSocketAppender<>(host, port,
(int) connectionTimeout.toMilliseconds(), (int) sendBufferSize.toBytes(), socketFactory());
appender.setContext(context);
appender.setName("tcp-socket-appender");
appender.setImmediateFlush(immediateFlush);
return appender;
}
代码示例来源:origin: camunda/camunda-bpm-platform
@Override
protected void append(E eventObject) {
if (!isStarted()) {
return;
}
subAppend(eventObject);
}
代码示例来源: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: camunda/camunda-bpm-platform
/**
* <p>
* Sets the @link OutputStream} where the log output will go. The specified
* <code>OutputStream</code> must be opened by the user and be writable. The
* <code>OutputStream</code> will be closed when the appender instance is
* closed.
*
* @param outputStream
* An already opened OutputStream.
*/
public void setOutputStream(OutputStream outputStream) {
lock.lock();
try {
// close any previously opened output stream
closeOutputStream();
this.outputStream = outputStream;
if (encoder == null) {
addWarn("Encoder has not been set. Cannot invoke its init method.");
return;
}
encoderInit();
} finally {
lock.unlock();
}
}
代码示例来源:origin: apache/lens
/**
* Test log statistics store.
*
* @throws Exception the exception
*/
@Test
public void testLogStatisticsStore() throws Exception {
LogStatisticsStore store = new LogStatisticsStore();
store.initialize(LensServerConf.getHiveConf());
// Do some initialization work
ByteArrayOutputStream writer = new ByteArrayOutputStream();
Logger l = (Logger) LoggerFactory.getLogger(MyLoggableLens.class);
OutputStreamAppender<ILoggingEvent> appender = new OutputStreamAppender<ILoggingEvent>();
appender.setLayout(new StatisticsLogLayout());
appender.setContext(l.getLoggerContext());
appender.setOutputStream(writer);
appender.setName(MyLoggableLens.class.getCanonicalName());
appender.start();
l.addAppender(appender);
MyLoggableLens sampleEvent = new MyLoggableLens(System.currentTimeMillis());
store.process(sampleEvent);
writer.flush();
l.detachAppender(appender);
appender.stop();
ObjectMapper mapper = new ObjectMapper();
String expected = mapper.writeValueAsString(sampleEvent);
Assert.assertEquals(new String(writer.toByteArray(), "UTF-8").trim(), expected.trim());
writer.close();
}
}
代码示例来源: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: camunda/camunda-bpm-platform
if (!isStarted()) {
return;
writeOut(event);
} finally {
lock.unlock();
addStatus(new ErrorStatus("IO failure in appender", this, ioe));
代码示例来源:origin: tony19/logback-android
@Override
protected void subAppend(E event) {
if (!initialized && lazyInit) {
initialized = true;
if (checkForFileCollisionInPreviousFileAppenders()) {
addError("Collisions detected with FileAppender/RollingAppender instances defined earlier. Aborting.");
addError(COLLISION_WITH_EARLIER_APPENDER_URL);
} else {
try {
openFile(getFile());
super.start();
} catch (IOException e) {
this.started = false;
addError("openFile(" + fileName + "," + append + ") failed", e);
}
}
}
super.subAppend(event);
}
代码示例来源:origin: camunda/camunda-bpm-platform
@Override
protected void writeOut(E event) throws IOException {
if (prudent) {
safeWrite(event);
} else {
super.writeOut(event);
}
}
}
代码示例来源:origin: hs-web/hsweb-generator
@Override
public void stop() {
super.stop();
}
代码示例来源:origin: tony19/logback-android
void encoderClose() {
if (encoder != null && this.outputStream != null) {
try {
byte[] footer = encoder.footerBytes();
writeBytes(footer);
} catch (IOException ioe) {
this.started = false;
addStatus(new ErrorStatus("Failed to write footer for appender named ["
+ name + "].", this, ioe));
}
}
}
代码示例来源:origin: camunda/camunda-bpm-platform
/**
* Stop this appender instance. The underlying stream or writer is also
* closed.
*
* <p>
* Stopped appenders cannot be reused.
*/
public void stop() {
lock.lock();
try {
closeOutputStream();
super.stop();
} finally {
lock.unlock();
}
}
代码示例来源:origin: camunda/camunda-bpm-platform
void encoderInit() {
if (encoder != null && this.outputStream != null) {
try {
encoder.init(outputStream);
} catch (IOException ioe) {
this.started = false;
addStatus(new ErrorStatus(
"Failed to initialize encoder for appender named [" + name + "].",
this, ioe));
}
}
}
代码示例来源:origin: camunda/camunda-bpm-platform
/**
* Close the underlying {@link OutputStream}.
*/
protected void closeOutputStream() {
if (this.outputStream != null) {
try {
// before closing we have to output out layout's footer
encoderClose();
this.outputStream.close();
this.outputStream = null;
} catch (IOException e) {
addStatus(new ErrorStatus(
"Could not close output stream for OutputStreamAppender.", this, e));
}
}
}
代码示例来源:origin: me.moocar/socket-encoder-appender
private void dispatchEvents() throws InterruptedException, IOException {
while (true) {
E event = deque.takeFirst();
super.subAppend(event);
this.getOutputStream().write('\0');
}
}
代码示例来源: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: 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;
}
}
内容来源于网络,如有侵权,请联系作者删除!