首页 > 编程 > Java > 正文

自己写的简易版Java日志类分享

2019-11-26 15:08:25
字体:
来源:转载
供稿:网友
/** *  */ 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();      }    }      } }

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表