Mercurial Hosting > luan
view src/goodjava/logger/GoodLogger.java @ 1448:6fc083e1d08c
start logger
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sun, 23 Feb 2020 18:14:32 -0700 |
parents | |
children | 28b1ddacfad3 |
line wrap: on
line source
package goodjava.logger; import goodjava.logging.Logger; public final class GoodLogger implements Logger { public final String name; public volatile int level = Level.INFO; public volatile Appender appender = DEFAULT_APPENDER; GoodLogger(String name) { this.name = name; } private void log(int level,String msg,Throwable t) { if( level < this.level ) return; LoggingEvent event = new LoggingEvent(this,level,msg,t); appender.append(event); } @Override public void error(String msg) { error(msg,null); } @Override public void error(String msg,Throwable t) { log(Level.ERROR,msg,t); } @Override public void warn(String msg) { warn(msg,null); } @Override public void warn(String msg,Throwable t) { log(Level.WARN,msg,t); } @Override public void info(String msg) { info(msg,null); } @Override public void info(String msg,Throwable t) { log(Level.INFO,msg,t); } @Override public boolean isInfoEnabled() { return isEnabled(Level.INFO); } @Override public void debug(String msg) { debug(msg,null); } @Override public void debug(String msg,Throwable t) { log(Level.DEBUG,msg,t); } @Override public boolean isDebugEnabled() { return isEnabled(Level.DEBUG); } private boolean isEnabled(int level) { return true; } private static final Layout DEFAULT_LAYOUT = new ListLayout(Layouts.LEVEL," - ",Layouts.MESSAGE,"\n",Layouts.THROWABLE); private static final WriterAppender DEFAULT_APPENDER = new ConsoleAppender(DEFAULT_LAYOUT,System.err); }