gpt4 book ai didi

java - 使用 Java 从日志文件中读取 Stacktrace

转载 作者:行者123 更新时间:2023-12-02 12:29:48 25 4
gpt4 key购买 nike

我想在日志文件中发生异常后打印所有行以及异常名称。以“at XYZ.ABC.( abcabcabc java:519) 开头的行直到被截断。请参阅日志文件以获取完整的堆栈跟踪。问题是它还打印包含 **** Error Wed Jul 05 22:23:30 GMT 2017 1499293410496**** warning Wed Jul 05 22:23:30 GMT 的行2017 1499293410496。



我的代码



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... 的行。当循环显示为“截断”时,我停止了循环。查看日志文件以获取完整的堆栈跟踪请帮忙!!

最佳答案

最好的解决方案是使用标准日志记录解决方案 - 请参阅 Log4J或 Logback 或其他一些现成的框架。它们提供了非常好的选项来将堆栈跟踪打印到日志文件中。可以使用或不使用日志框架的另一个解决方案是使用我编写的开源库,它提供了一个实用程序(以及其他一些实用程序),可以将异常中的完整堆栈跟踪或过滤掉的堆栈跟踪提取到字符串中。您所要做的就是:

String stacktraceStr = TextUtils.getStacktrace(ex);

这里是一篇文章的链接,详细解释了从哪里获取库或/及其源代码(maven 或 github)以及如何使用它:Open Source Java library with stack trace filtering, Silent String parsing Unicode converter and Version comparison 。查找段落“Stacktrace 噪声过滤器

关于java - 使用 Java 从日志文件中读取 Stacktrace,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45345496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com