protected void logExceptionCaught(IoSession session, Throwable cause) { String causeMessage = cause.toString(); if (cause.getCause() != null) { causeMessage += ", caused by " + cause.getCause().toString(); } getExceptionCaughtStrategy(cause).log(logger, String.format(exceptionFormat, session.getId(), causeMessage), cause); }
void log(Logger logger, String message, Throwable t) { if (shouldLog(logger)) { // Include stack trace if log level is info, except for IOException, where we only log stack trace // of the cause, if there is one, and we only log if logger level is info or finer, to avoid overkill // in this common case which can be caused by abrupt client network connection close or inactivity timeout. boolean isIOException = t instanceof IOException; Throwable stack = isIOException ? t.getCause() : t; if (stack != null) { LoggingFilter.log(logger, level, message, stack); } else { LoggingFilter.log(logger, level, message); } } }
protected void logSessionOpened(IoSession session) { getSessionOpenedStrategy().log(logger, openedFormat, session.getId(), session); }
protected void logSessionCreated(IoSession session) { getSessionCreatedStrategy().log(logger, createdFormat, session.getId(), session); }
protected void logSessionIdle(IoSession session) { getSessionIdleStrategy().log(logger, idleFormat, session.getId()); }
protected void logSessionClosed(IoSession session) { getSessionClosedStrategy().log(logger, closedFormat, session.getId(), session); }
boolean shouldLog(Logger logger) { return LoggingFilter.shouldLog(logger, level); }
void log(Logger logger, String message, Object param1) { if (shouldLog(logger)) { LoggingFilter.log(logger, level, message, param1); } }
void log(Logger logger, String message, Object param1, Object param2) { if (shouldLog(logger)) { LoggingFilter.log(logger, level, message, param1, param2); } } }