private void safeClose(Closeable c) { try { if (c != null) c.close(); } catch (Exception e) { reportError("Error closing resource", e, ErrorManager.CLOSE_FAILURE); } catch (Throwable ignored) { } }
private void safeFlush(Flushable f) { try { if (f != null) f.flush(); } catch (Exception e) { reportError("Error on flush", e, ErrorManager.FLUSH_FAILURE); } catch (Throwable ignored) { } } }
private void writeTail(final Writer writer) { try { final Formatter formatter = getFormatter(); if (formatter != null) writer.write(formatter.getTail(this)); } catch (Exception ex) { reportError("Error writing section tail", ex, ErrorManager.WRITE_FAILURE); } }
private void writeHead(final Writer writer) { try { final Formatter formatter = getFormatter(); if (formatter != null) writer.write(formatter.getHead(this)); } catch (Exception e) { reportError("Error writing section header", e, ErrorManager.WRITE_FAILURE); } }
@Override protected void doPublish(final ExtLogRecord record) { final String formatted; final Formatter formatter = getFormatter(); try { formatted = formatter.format(record); } catch (Exception e) { reportError("Could not format message", e, ErrorManager.FORMAT_FAILURE); return; } if (formatted.isEmpty()) { // nothing to write; move along return; } try { synchronized (outputLock) { if (initialize) { initialize(); initialize = false; } if (writer == null) { return; } writer.write(formatted); super.doPublish(record); } } catch (Exception e) { reportError("Error writing log message", e, ErrorManager.WRITE_FAILURE); } }
private OutputStream createOutputStream() { if (address != null || port >= 0) { try { final ClientSocketFactory socketFactory = getClientSocketFactory(); if (protocol == Protocol.UDP) { return new UdpOutputStream(socketFactory); } return new TcpOutputStream(socketFactory, blockOnReconnect); } catch (IOException e) { reportError("Failed to create socket output stream", e, ErrorManager.OPEN_FAILURE); } } return null; }
okay = true; } catch (UnsupportedEncodingException e) { reportError("Error opening", e, ErrorManager.OPEN_FAILURE); } finally { safeClose(current);