📄 log.java
字号:
package com.tanghan.util;import java.io.IOException;import java.util.Properties;import org.apache.log4j.Logger;import org.apache.log4j.PropertyConfigurator;/** * 用来得到专用于TanghanLib的日志处理器. * * @author Jerry Tang * @version v0.1.0 * @copyright (C) 2003 Tanghan工作组 * */public final class Log { /** * 默认类型 */ public static final String CATEGORY = "com.tanghan"; /** * 当前类型 * */ public static String myCategory = CATEGORY; /** * Log的实例 */ protected static Log me = null; /** * 日志 */ protected Logger logger = null; /** * 构造函数 */ protected Log() { initLogger(); } /** 得到Log的实例 * @return Log的实例 */ public static Log getInstanse() { if (me == null) { init(); } return me; } /**得到一个日志类的实例 * @param name 子类型 * @return 日志类的实例 */ public Logger getLogger(String name) { return Logger.getLogger(myCategory + "." + name); } /**得到一个日志类的实例 * @param class 子类型 * @return 日志类的实例 */ public Logger getLogger(Class cls) { return Logger.getLogger(cls.getName()); } /**得到一个日志类的实例 * @return 日志类的实例 */ public Logger getLogger() { return logger; } /** 更新当前默认日志 * @param myLogger 日志类 * @param category 当前类型 */ public void setLogger(Logger myLogger, String category) { synchronized (logger) { if (myLogger != null) { logger = myLogger; } } synchronized (category) { if (category != null) { myCategory = category; } } } /** * 初始化函数 */ protected synchronized static void init() { if (me == null) { me = new Log(); } } /** * 初始化函数 */ protected void initLogger() { logger = Logger.getLogger(CATEGORY); Properties perts = new Properties(); try { perts.load( getClass().getClassLoader().getResourceAsStream("TanghanLogger.properties")); } catch (IOException ex) { perts = initProperies(); ex.printStackTrace(); } PropertyConfigurator.configure(perts); } /**初始化属性*/ private Properties initProperies() { Properties perts = new Properties(); // # For the general syntax of property based configuration files see the // # documenation of org.apache.log4j.PropertyConfigurator. perts.setProperty("log4j.rootLogger", "DEBUG, A1"); // # A1 is set to be a ConsoleAppender which outputs to System.out. perts.setProperty("log4j.appender.A1", "org.apache.log4j.ConsoleAppender"); // # A1 uses PatternLayout. perts.setProperty("log4j.appender.A1.layout", "org.apache.log4j.PatternLayout"); // # The conversion pattern uses format specifiers. You might want to // # change the pattern an watch the output format change. perts.setProperty( "log4j.appender.A1.layout.ConversionPattern", "<%c><%-5p> %m%n"); return perts; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -