code: private synchronized void logThrowable(final Level level,
  			final String message, final Throwable t)
  	{
  
  		if (t != null) {
  			log("\r\n[" + System.currentTimeMillis() + "]\t" + message);
  			log("\r\n" + t);
  			log("\r\n");
  
  			for (StackTraceElement st : t.getStackTrace()) {
  				log("\t" + st.toString() + "\r\n");
  			}
  
  			Throwable c = t.getCause();
  			if (c != null) {
  
  				log("Caused by:\t" + c + "\r\n");
  
  				for (StackTraceElement st : c.getStackTrace()) {
  					log("\t" + st.toString() + "\r\n");
  				}
  			}
  
  			log("\r\n");
  			this.flush();
  		}
  	}
docs: The occurred error or exception with the related log level and message
  will be logged by this method.
  
  @param level
  log level
  @param message
  message
  @param t
  Throwable