📄 loggerfactory.java.svn-base
字号:
package com.gisinfo.common.log;
import java.util.*;
/**
* User: Ken
* Date: 2008-5-20
* Time: 17:01:26
*/
public class LoggerFactory {
private static Map<String, Logger> logs = new HashMap<String, Logger>();
private static Map<String, LogWriter> writers = new HashMap<String, LogWriter>();
public static Logger getLogger(String str) {
Logger log = logs.get(str);
if (log != null) return log;
log = new Logger(str, false);
logs.put(str, log);
return log;
}
public static Logger getCustomLogger(String str) {
if (!LoggerConfig.customLoggers.contains(str)) {
LoggerConfig.writeInfo("找不到自定义Logger:" + str + ",该Logger将被自动转为系统Logger!");
}
Logger log = logs.get(str);
if (log != null) return log;
log = new Logger( str, true);
logs.put("custom$" +str, log);
return log;
}
// fileWriter,com.gisinfo.common.log.FileLogWriter
public static LogWriter getLogWriter(String name, String className) {
try {
String key = name + "$" + className;
Object o = writers.get(key);
if (o != null) return (LogWriter) o;
o = Class.forName(className).newInstance();
if (!(o instanceof LogWriter)) {
LoggerConfig.writeInfo("类" + className + "应该继承com.gisinfo.common.log.LogWriter");
return null;
}
writers.put(key, (LogWriter) o);
return (LogWriter) o;
} catch (InstantiationException e) {
LoggerConfig.writeInfo(e);
} catch (IllegalAccessException e) {
LoggerConfig.writeInfo(e);
} catch (ClassNotFoundException e) {
LoggerConfig.writeInfo(e);
}
return null;
}
public static synchronized void write() {
/*for (Logger log : logs.values()) {
log.write();
}*/
for (LogWriter lw : writers.values()) {
try {
if (!lw.isWriteImmediately()) lw.writeLog(lw.getEvents());
} catch (LogException e) {
LoggerConfig.writeInfo(e);
}
lw.clearAllEvent();
}
}
public static synchronized List<Logger> getAllLoggers() {
return new ArrayList<Logger>(logs.values());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -