Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 检索特定于一个记录器类的前n行log4j_Java_Logging_Groovy_Log4j_Jira Plugin - Fatal编程技术网

Java 检索特定于一个记录器类的前n行log4j

Java 检索特定于一个记录器类的前n行log4j,java,logging,groovy,log4j,jira-plugin,Java,Logging,Groovy,Log4j,Jira Plugin,我们实现了一个小程序,在发生特定错误的情况下,我们会收到一封电子邮件,让我们知道发生了什么。在电子邮件中包含一些错误信息是很容易的,但我们希望包含发生错误时以前记录的信息 首先,我试图从保存log4j的文件中检索最后几行。问题是许多其他线程同时工作,我从未获得相关信息。要么缓冲区没有时间写日志,要么其他东西写其他东西更快 是否可以在运行时将appender添加到特定的log4j,以便仅检索那些特定的日志,并且仅在需要时检索 我希望仍然能够使用常用命令log.error、log.warn。。。但我

我们实现了一个小程序,在发生特定错误的情况下,我们会收到一封电子邮件,让我们知道发生了什么。在电子邮件中包含一些错误信息是很容易的,但我们希望包含发生错误时以前记录的信息

首先,我试图从保存log4j的文件中检索最后几行。问题是许多其他线程同时工作,我从未获得相关信息。要么缓冲区没有时间写日志,要么其他东西写其他东西更快

是否可以在运行时将appender添加到特定的log4j,以便仅检索那些特定的日志,并且仅在需要时检索

我希望仍然能够使用常用命令log.error、log.warn。。。但我希望能够在try/catch情况下检索日志内容。类似于只存储缓冲区追加器的东西? 这对所有的儿童伐木工人都有效吗

Class 1 - call Class 2
Class 2 - call Class 3
Class 3 try/catch an error
log.getLogs returns all logged informations from Class 1..3
还是我在这里做梦


我们在文件中使用Jira和in-logs,所以我想没有查询会起作用。

编写自定义内存appender不是问题。但如何检测需要包含在电子邮件中的正确日志事件呢?按线程?按类?我原以为Logger.getLogger(this.class)可以做到这一点,但您是对的,使用线程来完成整个过程可能更好。如果我使用线程,甚至可能同时获取调用方日志。编写自定义内存追加器不是问题。但如何检测需要包含在电子邮件中的正确日志事件呢?按线程?按类?我原以为Logger.getLogger(this.class)可以做到这一点,但您是对的,使用线程来完成整个过程可能更好。如果我使用线程,甚至可能同时获取调用方日志。