001 package railo.commons.io.log; 002 003 import java.io.PrintWriter; 004 005 import railo.commons.lang.SystemOut; 006 import railo.runtime.config.Config; 007 008 009 /** 010 * log for Console 011 */ 012 public final class LogConsole implements Log { 013 014 private static LogConsole[] singeltons=new LogConsole[Log.LEVEL_FATAL+1]; 015 /*{ 016 new LogConsole(Log.LEVEL_INFO), 017 new LogConsole(Log.LEVEL_DEBUG), 018 new LogConsole(Log.LEVEL_WARN), 019 new LogConsole(Log.LEVEL_ERROR), 020 new LogConsole(Log.LEVEL_FATAL) 021 };*/ 022 023 private int logLevel; 024 025 private PrintWriter writer; 026 027 public LogConsole(int logLevel, PrintWriter writer) { 028 this.logLevel=logLevel; 029 this.writer=writer; 030 } 031 032 public static LogConsole getInstance(Config config,int logLevel) { 033 if(singeltons[logLevel]==null) { 034 if(config==null || config.getOutWriter()==null) 035 return new LogConsole(logLevel,new PrintWriter(System.out)); 036 037 singeltons[logLevel]=new LogConsole(logLevel,config.getOutWriter()); 038 } 039 return singeltons[logLevel]; 040 } 041 042 /** 043 * @see railo.commons.io.log.Log#log(int, java.lang.String, java.lang.String) 044 */ 045 public void log(int level, String application, String message) { 046 if(level>=logLevel)SystemOut.print(writer, LogUtil.getLine(level,application,message)); 047 } 048 049 /** 050 * @see railo.commons.io.log.Log#info(java.lang.String, java.lang.String) 051 */ 052 public void info(String application, String message) { 053 log(LEVEL_INFO,application,message); 054 } 055 /** 056 * @see railo.commons.io.log.Log#debug(java.lang.String, java.lang.String) 057 */ 058 public void debug(String application, String message) { 059 log(LEVEL_DEBUG,application,message); 060 } 061 /** 062 * @see railo.commons.io.log.Log#warn(java.lang.String, java.lang.String) 063 */ 064 public void warn(String application, String message) { 065 log(LEVEL_WARN,application,message); 066 } 067 /** 068 * @see railo.commons.io.log.Log#error(java.lang.String, java.lang.String) 069 */ 070 public void error(String application, String message) { 071 log(LEVEL_ERROR,application,message); 072 } 073 /** 074 * @see railo.commons.io.log.Log#fatal(java.lang.String, java.lang.String) 075 */ 076 public void fatal(String application, String message) { 077 log(LEVEL_FATAL,application,message); 078 } 079 080 /** 081 * @see railo.commons.io.log.Log#getLogLevel() 082 */ 083 public int getLogLevel() { 084 return logLevel; 085 } 086 087 /** 088 * @see railo.commons.io.log.Log#setLogLevel(int) 089 */ 090 public void setLogLevel(int level) { 091 this.logLevel=level; 092 } 093 094 }