package com.product.system.backup.entity;
|
|
import java.io.File;
|
import java.io.FileWriter;
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
|
public class BackupLogger {
|
|
public static final int ERROR_TYPE = 0;// 错误日志
|
public static final int INFO_TYPE = 1;// 普通日志
|
|
SimpleDateFormat standardTimeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
SimpleDateFormat standardDateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
SimpleDateFormat numberTimeFormat = new SimpleDateFormat("yyyyMMddHHmmss");
|
SimpleDateFormat numberDateFormat = new SimpleDateFormat("yyyyMMdd");
|
|
File logFile;
|
FileWriter logWriter;
|
|
public BackupLogger() {
|
logFile = new File(System.getProperty("user.dir") + File.separator + "/logs/backend/backup/" + numberTimeFormat.format(new Date()) + ".log");
|
// logFile = new File("D:/product-server/backup/log/back_" + numberTimeFormat.format(new Date()) + ".log");
|
if (!logFile.exists()) {
|
System.out.println("日志文件不存在:" + logFile.getAbsolutePath());
|
try {
|
// 确保父目录存在
|
File parentDir = logFile.getParentFile();
|
if (parentDir != null && !parentDir.exists()) {
|
parentDir.mkdirs(); // 创建所有必要的父目录
|
}
|
logFile.createNewFile();
|
} catch (Exception e) {
|
System.out.println("创建日志文件失败:" + logFile.getAbsolutePath() + "," + e.getMessage());
|
}
|
}
|
try {
|
logWriter = new FileWriter(logFile, true);
|
} catch (Exception e) {
|
System.out.println("初始日志文件失败:" + logFile.getAbsolutePath() + "," + e.getMessage());
|
}
|
|
}
|
|
public boolean writeInfo(String message, int type) {
|
if (logWriter != null) {
|
try {
|
logWriter.write("【");
|
if (type == BackupLogger.ERROR_TYPE) {
|
logWriter.write("ERROR");
|
} else {
|
logWriter.write("INFO ");
|
}
|
logWriter.write(" " + standardTimeFormat.format(new Date()));
|
logWriter.write("】 ");
|
logWriter.write(message);
|
logWriter.write("\r\n");
|
logWriter.flush();
|
return true;
|
} catch (Exception e) {
|
System.out.println("日志写入错误:" + logFile.getAbsolutePath() + "," + e.getMessage());
|
}
|
}
|
return false;
|
}
|
|
public void closeLogger() {
|
if (logWriter != null) {
|
try {
|
logWriter.close();
|
} catch (Exception e) {
|
System.out.println("日志写入错误:" + logFile.getAbsolutePath() + "," + e.getMessage());
|
}
|
}
|
}
|
}
|