国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java不通過配置文件初始化logger示例

2019-11-26 15:30:49
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:

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;


public class LoggerUtils {

 /**
  * 創建Logger實例
  *
  * @param clazz  事件日志發生類
  * @param ifConsole 是否輸出到控制臺
  * @param ifFile  是否輸出到文件
  * @param logFile  日志文件地址(路徑分割使用“/”)
  * @param ifLocate 是否定位事件日志發生位置(類.方法 line)
  * @return Logger
  */
 public static Logger getLogger(Class<?> clazz, boolean ifConsole, boolean ifFile, String logFile, boolean ifLocate) {

  if(ifConsole == false && ifFile == false) return null;

  if(ifFile == true && logFile.trim().length() < 1) return null;

  String conversionPattern;
  if(ifLocate == true) {
   // 日志內容形式如:2014-03-11 01:34:45.572 [DEBUG] com.aliyun.qa.utils.LoggerUtilsTest.main(Line:15): 測試DEBUG日志
   conversionPattern = "%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5p] %c.%M(Line:%L): %m %n";
  } else {
   // 日志內容形式如:2014-03-11 01:34:45.572 [DEBUG] : 測試DEBUG日志
   conversionPattern = "%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5p] : %m %n";
  }
  PatternLayout layout = new PatternLayout();
  layout.setConversionPattern(conversionPattern);

  Logger logger = Logger.getLogger(clazz);
  logger.removeAllAppenders();
  logger.setLevel(Level.DEBUG);
  logger.setAdditivity(false);     // Logger不會在父Logger的appender里輸出,默認為true

  if(ifConsole == true) {  // 日志輸出到控制臺
   ConsoleAppender consoleAppender = new ConsoleAppender();
   consoleAppender.setLayout(layout);
   consoleAppender.setThreshold(Level.INFO);  // ConsoleAppender日志級別為DEBUG
   consoleAppender.activateOptions();
   logger.addAppender(consoleAppender);
  }

  if(ifFile == true) {  // 日志輸出到文件
   FileAppender fileAppender = new FileAppender();
   fileAppender.setLayout(layout);
   fileAppender.setFile(logFile);
   fileAppender.setEncoding("UTF-8");
   fileAppender.setAppend(true);
   fileAppender.setThreshold(Level.INFO);   // FileAppender日志級別為INFO
   fileAppender.activateOptions();
   logger.addAppender(fileAppender);
  }

  return logger;
 }

 /**
  * 創建Logger實例(僅輸出到控制臺)
  *
  * @param clazz  事件日志發生類
  * @param ifLocate 是否定位事件日志發生位置(類.方法 line)
  * @return Logger
  */
 public static Logger getLogger(Class<?> clazz, boolean ifLocate) {
  return getLogger(clazz, true, false, null, ifLocate);
 }

 /**
  * 創建Logger實例(僅輸出到文件)
  *
  * @param clazz  事件日志發生類
  * @param logFile  日志文件地址(路徑分割使用“/”)
  * @param ifLocate 是否定位事件日志發生位置(類.方法 line)
  * @return Logger
  */
 public static Logger getLogger(Class<?> clazz, String logFile, boolean ifLocate) {
  return getLogger(clazz, false, true, logFile, ifLocate);
 }

}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 太和县| 康乐县| 泰安市| 佛山市| 年辖:市辖区| 鄂伦春自治旗| 凌海市| 平昌县| 浪卡子县| 运城市| 岳西县| 扶沟县| 建宁县| 阳东县| 商河县| 康平县| 来凤县| 北票市| 淮阳县| 育儿| 胶南市| 惠来县| 隆子县| 杂多县| 杭锦后旗| 洞口县| 茂名市| 织金县| 罗甸县| 垫江县| 鹤壁市| 吉水县| 宁海县| 五常市| 石家庄市| 庆云县| 郸城县| 来凤县| 双江| 延吉市| 静乐县|