protected void encoderClose() { try { stream.close(); } catch (Exception ex) { this.started = false; addError(format("Failed to close encoder for appender '%s'", getName()), ex); } } }
protected void encoderInit(ByteArrayOutputStream stream) { if (this.stream == null) { this.stream = stream; } else { try { this.stream.close(); this.stream = stream; } catch (IOException ex) { this.started = false; addError(format("Failed to initialize encoder for appender '%s'", getName()), ex); } } }
protected void doEncode(E event) { try { stream.write(encoder.encode(event)); } catch (IOException ex) { this.started = false; addError(format("Failed to encode logging event for appender '%s'", getName()), ex); } }
protected void doHandle(E event, P encoded) { try { if (encoded != null) { handle(event, encoded); } } catch (Exception ex) { this.started = false; addError(format("Failed to handle logging event for '%s'", getName()), ex); } }
@Override public void start() { if (encoder == null) { addError(format("Encoder not set for appender '%s'", getName())); return; } if (converter == null) { addError(format("Converter not set for appender '%s'", getName())); return; } lock.lock(); try { encoder.start(); super.start(); } finally { lock.unlock(); } }