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

网友投稿 190 2023-08-01


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

/**

*

*/

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;

}

retuhttp://rn 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();

Sihttp://mpleDateFormat 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 yFlbiPIL(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();

}

}

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:常用DOM整理
下一篇:java中struts配置
相关文章

 发表评论

暂时没有评论,来抢沙发吧~