日志逻辑优化
This commit is contained in:
parent
63edb6d848
commit
0c4491a1b8
|
@ -4,9 +4,10 @@ import java.io.BufferedReader;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.FileReader;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
|
import java.io.LineNumberReader;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
|
@ -133,48 +134,89 @@ public class XxlJobFileAppender extends AppenderSkeleton {
|
||||||
String logFileName = trigger_log_id.concat(".log");
|
String logFileName = trigger_log_id.concat(".log");
|
||||||
File logFile = new File(filePathDateDir, logFileName);
|
File logFile = new File(filePathDateDir, logFileName);
|
||||||
if (!logFile.exists()) {
|
if (!logFile.exists()) {
|
||||||
try {
|
return null;
|
||||||
logFile.createNewFile();
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String logData = readLines(logFile);
|
||||||
|
return logData;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* read log data
|
||||||
|
* @param logFile
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String readLines(File logFile){
|
||||||
|
BufferedReader reader = null;
|
||||||
try {
|
try {
|
||||||
InputStream ins = null;
|
reader = new BufferedReader(new InputStreamReader(new FileInputStream(logFile), "utf-8"));
|
||||||
BufferedReader reader = null;
|
if (reader != null) {
|
||||||
try {
|
StringBuilder sb = new StringBuilder();
|
||||||
ins = new FileInputStream(logFile);
|
String line = null;
|
||||||
reader = new BufferedReader(new InputStreamReader(ins, "utf-8"));
|
while ((line = reader.readLine()) != null) {
|
||||||
if (reader != null) {
|
sb.append(line).append("\n");
|
||||||
String content = null;
|
|
||||||
StringBuilder sb = new StringBuilder();
|
|
||||||
while ((content = reader.readLine()) != null) {
|
|
||||||
sb.append(content).append("\n");
|
|
||||||
}
|
|
||||||
return sb.toString();
|
|
||||||
}
|
}
|
||||||
} finally {
|
return sb.toString();
|
||||||
if (ins != null) {
|
}
|
||||||
try {
|
} catch (IOException e) {
|
||||||
ins.close();
|
e.printStackTrace();
|
||||||
} catch (IOException e) {
|
} finally {
|
||||||
e.printStackTrace();
|
if (reader != null) {
|
||||||
}
|
try {
|
||||||
}
|
reader.close();
|
||||||
if (reader != null) {
|
} catch (IOException e) {
|
||||||
try {
|
e.printStackTrace();
|
||||||
reader.close();
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* read data from line num
|
||||||
|
* @param sourceFile
|
||||||
|
* @param fromLineNum
|
||||||
|
* @return
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public static String readLinesFrom(File logFile, int fromLineNum) {
|
||||||
|
LineNumberReader reader = null;
|
||||||
|
try {
|
||||||
|
reader = new LineNumberReader(new FileReader(logFile));
|
||||||
|
|
||||||
|
// sBuffer
|
||||||
|
StringBuffer sBuffer = new StringBuffer();
|
||||||
|
String line = null;
|
||||||
|
int maxLineNum = 0;
|
||||||
|
while ((line = reader.readLine())!=null) {
|
||||||
|
maxLineNum++;
|
||||||
|
if (reader.getLineNumber() >= fromLineNum) {
|
||||||
|
sBuffer.append(line).append("\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println("maxLineNum : " + maxLineNum);
|
||||||
|
return sBuffer.toString();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
if (reader != null) {
|
||||||
|
try {
|
||||||
|
reader.close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
|
||||||
|
/*
|
||||||
|
// it will return the number of characters actually skipped
|
||||||
|
reader.skip(Long.MAX_VALUE);
|
||||||
|
int maxLineNum = reader.getLineNumber();
|
||||||
|
maxLineNum++; // 最大行号
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue