?? logimpl.java
字號:
package com.briup.impl.log;
import java.io.IOException;
import java.util.Properties;
import org.apache.log4j.Appender;
import org.apache.log4j.ConsoleAppender;
import org.apache.log4j.FileAppender;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;
import com.briup.Log;
import com.briup.exception.LogException;
/**
* @author renqs
* @company Briup Technology Inc,.(Shanghai)
* @date JUL 2, 2008 2:19:43 PM
*/
public class LogImpl implements Log {
private static Log log;
private Logger logger = null; // 用來記錄日志
private Appender fileAppender = null; // 輸出到文件中
private Appender consoleAppender = null; // 輸出到控制臺
private LogImpl(Properties props) {
// 獲取日級別
String level = props.getProperty("level");
// 獲取輸出日志文件的路徑
String filePath = props.getProperty("log_file_path");
// 實例化logger對象,名字可以任意
logger = Logger.getLogger("My_Test_Logger");
// 設置日志級別
logger.setLevel(Level.toLevel(level));
// 設置日志的輸出格式
PatternLayout layout = new PatternLayout();
layout.setConversionPattern("%d{yyyy-MM-dd HH:mm:ss}"
+ " [%t] %-5p %c %m\n");
try {
fileAppender = new FileAppender(layout, filePath, true);
// true表示追加日志文件,false覆蓋原文件
} catch (IOException e) {
e.printStackTrace();
}
consoleAppender = new ConsoleAppender(layout);
logger.addAppender(fileAppender);
logger.addAppender(consoleAppender);
}
public static synchronized Log newInstance(Properties props) {
if (log == null)
log = new LogImpl(props);
return log;
}
public void write(String log, int levelGrade) throws LogException {
int level = levelGrade;
switch (level) {
case '0': {
writeDebug(log);
break;
}
case '1': {
writeInfo(log);
break;
}
case '2': {
writeWarn(log);
break;
}
case '3': {
writeError(log);
break;
}
case '4': {
writeFatal(log);
break;
}
default:
writeInfo("Sorry, Please input appreciate priority!");
}
}
public void writeDebug(String log) {
logger.debug(log);
}
public void writeInfo(String log) {
logger.info(log);
}
public void writeWarn(String log) {
logger.warn(log);
}
public void writeError(String log) {
logger.error(log);
}
public void writeFatal(String log) {
logger.fatal(log);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -