我想在日誌文件中發生異常之後打印所有行以及異常名稱。從開始「at XYZ.ABC.(abcabcabc java:519)
直到Truncated. see log file for complete stacktrace
,線條的問題是,它也會包含**** Error Wed Jul 05 22:23:30 GMT 2017 1499293410496
和**** Warning Wed Jul 05 22:23:30 GMT 2017 1499293410496
行。使用Java從日誌文件中讀取Stacktrace
我的代碼
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.InputStreamReader;
public class findException {
public static void main(String[] args)
{
try
{
FileInputStream fis = new FileInputStream("log path");
DataInputStream dis = new DataInputStream(fis);
BufferedReader br = new BufferedReader(new InputStreamReader(dis));
BufferedWriter bw = new BufferedWriter(new FileWriter("Trace_failed.txt"));
String strLine;
Boolean check= false;
int line = 0;
while((strLine = br.readLine()) != null)
{
if(strLine.contains("Servlet failed with Exception") || (strLine.contains("java.lang.Exception")) || (strLine.contains("SQLException")))
{
check = true;
}
if(check)
{
bw.write(strLine);
bw.newLine();
line++;
}
if(!strLine.contains("Truncated. see log file for complete stacktrace"))
{
check = false;
line = 0;
}
}
dis.close();
bw.close();
System.out.println("Written Successfully");
}
catch(Exception e)
{
System.err.println("Error " + e.getMessage());
}
}
}
請向右滾動書面例外。我剛纔寫其中2個。那麼我該如何刪除所有具有****Error...
和* ***Warning...
的行 我停止了循環,當它顯示爲Truncated. see log file for complete stacktrace
請幫助!!