最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

自己寫的簡易版Java日志類分享

 更新時間:2015年06月16日 10:57:44   投稿:junjie  
這篇文章主要介紹了自己寫的簡易版Java日志類分享,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下
/**
 * 
 */
 
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
 
/**
 * @author magic282
 *
 */
public class Logger {
  private static String logFilePath;
  private static boolean isInitialized = false;
  private static FileWriter logWriter = null;
  private static boolean printLogWhenLog = true;
 
  private static boolean InitLogger() {
    String logDirectoryPath = System.getProperty("user.dir")
        + java.io.File.separatorChar + "log";
 
    if (!new File(logDirectoryPath).exists()) {
      new File(logDirectoryPath).mkdir();
    }
    Date logfileDate = new Date();
    SimpleDateFormat dateFormat = new SimpleDateFormat(
        "yyyy-MM-dd-HH-mm-ss");
    logFilePath = logDirectoryPath + java.io.File.separatorChar
        + dateFormat.format(logfileDate) + ".log";
 
    try {
      logWriter = new FileWriter(logFilePath, true);
      isInitialized = true;
    } catch (IOException e) {
      // TODO Auto-generated catch block
      System.err.println("Unable to create log file.");
      System.err.println("Initilization fail.");
      e.printStackTrace();
      return false;
    }
    return true;
  }
 
  public static void Log(String message) {
    if (!isInitialized) {
      InitLogger();
    }
    Date logfileDate = new Date();
    SimpleDateFormat dateFormat = new SimpleDateFormat(
        "yyyy-MM-dd-HH-mm-ss");
    String callingClassName = new Exception().getStackTrace()[1]
        .getClassName();
    synchronized (logWriter) {
      String log = String.format("[%s] @ [%s]: %s\n", callingClassName,
          dateFormat.format(logfileDate), message);
      if (printLogWhenLog) {
        System.out.printf("[log]:%s", log);
      }
      try {
        logWriter.write(log);
        logWriter.flush();
      } catch (IOException e) {
        // TODO Auto-generated catch block
        System.err.println("Write log to file %s error.");
        e.printStackTrace();
      }
    }
  }
 
  public static void Log(Exception exception) {
    if (!isInitialized) {
      InitLogger();
    }
    Date logfileDate = new Date();
    SimpleDateFormat dateFormat = new SimpleDateFormat(
        "yyyy-MM-dd-HH-mm-ss");
    String callingClassName = new Exception().getStackTrace()[1]
        .getClassName();
    synchronized (logWriter) {
      String log = String.format("[%s] @ [%s]: %s\n", callingClassName,
          dateFormat.format(logfileDate), exception.toString());
      if (printLogWhenLog) {
        System.out.printf("[log]:%s", log);
      }
      try {
        logWriter.write(log);
        logWriter.flush();
      } catch (IOException e) {
        // TODO Auto-generated catch block
        System.err.println("Write log to file %s error.");
        e.printStackTrace();
      }
    }    
  }
 
}

相關文章

  • 詳解Spring的StringUtils踩坑記錄

    詳解Spring的StringUtils踩坑記錄

    這篇文章主要介紹了詳解Spring的StringUtils踩坑記錄,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • springboot結合mybatis-plus基于session模擬短信注冊功能

    springboot結合mybatis-plus基于session模擬短信注冊功能

    本文主要介紹了springboot結合mybatis-plus基于session模擬短信注冊功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-11-11
  • idea如何自動生成serialVersionUID

    idea如何自動生成serialVersionUID

    這篇文章主要介紹了idea如何自動生成serialVersionUID,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • JAVA多線程編程實例詳解

    JAVA多線程編程實例詳解

    這篇文章主要介紹了JAVA多線程編程,結合實例形式總結分析了多線程、鎖、線程池等相關原理及使用技巧,需要的朋友可以參考下
    2019-09-09
  • 前端和后端時間不一致問題解決的實踐指南

    前端和后端時間不一致問題解決的實踐指南

    這篇文章主要給大家介紹了關于前端和后端時間不一致問題解決的實踐指南,在SpringBoot項目中,可以通過設置application.yml文件中的屬性來統(tǒng)一時間格式和時區(qū),從而確保序列化和反序列化過程中的時間和時區(qū)一致性,需要的朋友可以參考下
    2025-01-01
  • spring security結合jwt實現(xiàn)用戶重復登錄處理

    spring security結合jwt實現(xiàn)用戶重復登錄處理

    本文主要介紹了spring security結合jwt實現(xiàn)用戶重復登錄處理,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Java圖像之自定義角度旋轉(實例)

    Java圖像之自定義角度旋轉(實例)

    這篇文章主要介紹了Java圖像之自定義角度旋轉(實例),需要的朋友可以參考下
    2017-09-09
  • MyBatis入門實例教程之創(chuàng)建一個簡單的程序

    MyBatis入門實例教程之創(chuàng)建一個簡單的程序

    這篇文章主要介紹了MyBatis入門創(chuàng)建一個簡單的程序,在?MySQL?中創(chuàng)建數(shù)據(jù)庫?mybatisdemo,編碼為?utf8,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-02-02
  • Java使用注解和反射簡化編程的方法示例

    Java使用注解和反射簡化編程的方法示例

    這篇文章主要介紹了Java使用注解和反射簡化編程的方法,結合實例形式分析了java使用注解和反射調用大量函數(shù)簡化編程的相關操作技巧,需要的朋友可以參考下
    2019-10-10
  • Java利用LocalDate進行日期處理的完全指南

    Java利用LocalDate進行日期處理的完全指南

    這篇文章主要為大家詳細介紹了Java利用LocalDate進行日期處理的詳細教程,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-03-03

最新評論

乐清市| 牡丹江市| 陆丰市| 卢龙县| 轮台县| 秦安县| 金华市| 宜兴市| 云霄县| 贞丰县| 河曲县| 调兵山市| 高雄县| 上饶县| 长垣县| 家居| 郎溪县| 同江市| 北票市| 忻州市| 呼伦贝尔市| 张家口市| 隆尧县| 女性| 东莞市| 夹江县| 鸡西市| 云浮市| 庆元县| 三穗县| 武鸣县| 平远县| 九龙城区| 广宗县| 正定县| 临邑县| 河北区| 迭部县| 施秉县| 金川县| 峨边|