content: package org.sql2o.logging;
  
  /**
   * Created by lars on 2/9/14.
   */
  public class SysOutLogger implements Logger {
  
      public static Logger instance = new SysOutLogger();
  
      //private final Class clazz; // don't used
      private final static long startTime = System.currentTimeMillis();
      public static final String LINE_SEPARATOR = System.getProperty("line.separator");
      private static String WARN_LVL = "WARN";
      // private static String ERROR_LVL = "ERROR"; // don't used
  
      public SysOutLogger() {
      //    this.clazz = clazz;
      }
  
      public void debug(String format, Object[] argArray) {
          // Don't log debug messages with the SysOutLogger
      }
  
      public void debug(String format, Object arg) {
          // Don't log debug messages with the SysOutLogger
      }
  
      public void warn(String format) {
          this.log(format, WARN_LVL, null);
      }
  
      public void warn(String format, Throwable exception) {
          this.log(format, WARN_LVL, exception);
      }
  
      private void log(String msg, String level, Throwable exception) {
          StringBuilder buffer = new StringBuilder(); // bit faster
  
          long millis = System.currentTimeMillis();
          buffer.append(millis - startTime);
  
          buffer.append(" [");
          buffer.append(Thread.currentThread().getName());
          buffer.append("] ");
  
          buffer.append(level);
          buffer.append(" ");
  
          buffer.append(this.getClass().getName());
          buffer.append(" - ");
  
          buffer.append(msg);
  
          buffer.append(LINE_SEPARATOR);
  
          System.err.print(buffer.toString());
          if (exception != null) {
              exception.printStackTrace(System.err);
          }
          System.err.flush();
      }
  }
  