private static Hashtable<String, LoggerUtils> instances = new Hashtable<String, LoggerUtils>();
private Class< ? > logClass;
private LoggerUtils(){}
public void setLogClass(Class< ? > logClass){
this.logClass = logClass;
}
public Class< ? > getLogClass(){
return logClass;
}
public static LoggerUtils getInstance(Class< ? > logClass)
{
LoggerUtils fileLogger = (LoggerUtils) instances.get(logClass.getName());
if (null == fileLogger)
{
fileLogger = new LoggerUtils();
fileLogger.setLogClass(logClass);
instances.put(logClass.getName(), fileLogger);
}
return fileLogger;
}
public void saveLogToFile(LogLevel level, String obj)
{
switch (level)
{
case DEBUG :
this.debug(obj);
break;
case ERROR :
this.error(obj);
break;
case INFO :
this.info(obj);
break;
case WARN :
this.warn(obj);
break;
default:
break;
}
}
private void info(Object obj){
LogFactory.getLog(logClass).info(obj);
}
private void debug(Object obj) {
LogFactory.getLog(logClass).debug(obj);
}
private void warn(Object obj){
LogFactory.getLog(logClass).warn(obj);
}
private void error(Object obj){
LogFactory.getLog(logClass).error(obj)
本文介绍了一个用于记录日志的工具类的设计与实现,包括单例模式的应用、日志级别的设定及文件记录功能。该工具类通过单例模式确保了全局唯一实例,并能够根据不同日志级别(如DEBUG、ERROR等)将信息写入到指定的日志文件中。
991

被折叠的 条评论
为什么被折叠?



