KLog implements KLogger { public static KLog getLogger() { if (instance == null) instance = new KLog(); return instance; } private  KLog(); static KLog getLogger(); @Override void dispose(); @Override String getLogPath(); @Override synchronized void setLogPath(String logPath); @Override synchronized void setLevel(Level level); @Override synchronized void info(String message, Object... args); @Override synchronized void info(String message, Throwable throwable, Object... args); @Override boolean isInfoEnabled(); @Override synchronized void warn(String message, Object... args); @Override synchronized void warn(String message, Throwable throwable, Object... args); @Override boolean isWarnEnabled(); @Override synchronized void error(String message, Object... args); @Override synchronized void error(String message, Throwable throwable, Object... args); @Override boolean isErrorEnabled(); @Override synchronized void debug(String message, Object... args); @Override synchronized void debug(String message, Throwable throwable, Object... args); @Override boolean isDebugEnabled(); @Override synchronized void trace(String message, Object... args); @Override synchronized void trace(String message, Throwable throwable, Object... args); @Override boolean isTraceEnabled();  }
@Test public void testLogInit() { try { logger = KLog.getLogger(); assertNotNull(logger); } catch (Throwable throwable) { fail("Should not throw an exception " + throwable.getLocalizedMessage()); } }