📄 log.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 + -