⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 log.java

📁 J2EE eclipse 下开发数据库一个插件
💻 JAVA
字号:
/*
 * Created on 2003-4-9
 *
 */
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(CATEGORY+"."+name);
	}

	/**得到一个日志类的实例
	 * @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();
		}
		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","%-4r %-5p [%t] %37c %3x - %m%n");
		
		return perts;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -