Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.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 如何捕获Log4j文件写入异常_Java_Log4j_Slf4j - Fatal编程技术网

Java 如何捕获Log4j文件写入异常

Java 如何捕获Log4j文件写入异常,java,log4j,slf4j,Java,Log4j,Slf4j,如果由于磁盘已满或任何其他操作系统问题等原因,Log4j无法写入日志文件,则不会引发异常 我们如何处理这种情况,在我的例子中,如果java进程无法写入日志文件,它应该自动终止。通常,您要确保永远不会达到磁盘已满状态—您需要安装监控工具、警报等来防止此类问题。对于其他IO错误,我必须承认,我们从未在应用程序中解决过这些问题——我们只是假设日志框架没有解决fail@spi是的,已有监控工具为监控系统的人员生成警报和通知。但作为一项安全措施,该进程的预期行为是在这种情况下自行终止。@spi java文

如果由于磁盘已满或任何其他操作系统问题等原因,Log4j无法写入日志文件,则不会引发异常


我们如何处理这种情况,在我的例子中,如果java进程无法写入日志文件,它应该自动终止。

通常,您要确保永远不会达到磁盘已满状态—您需要安装监控工具、警报等来防止此类问题。对于其他IO错误,我必须承认,我们从未在应用程序中解决过这些问题——我们只是假设日志框架没有解决fail@spi是的,已有监控工具为监控系统的人员生成警报和通知。但作为一项安全措施,该进程的预期行为是在这种情况下自行终止。@spi java文件读/写操作会抛出已检查的异常,这意味着该操作可能由于许多原因而失败,因为它高度依赖于操作系统的文件系统。因此,我认为在日志框架(如Log4J)中跟踪文件写入失败的功能是一项基本功能。然后,可能创建自己的appender,可能进行扩展,这样就不会吞下这些错误。。。但我怀疑这是否有任何附加值-没有人这样做(14年的Java,从来没有看到过这样的需求…@Daniele也许压缩文件无助于避免IO异常-在循环中添加压缩比在现有文件中添加几个原始字节更有可能产生IOE。顺便说一句,扩展API实际上是在它不符合您的需要时改变其行为的一种方式。通常,您要确保永远不会达到磁盘已满状态—您需要安装监控工具、警报等来防止此类问题。对于其他IO错误,我必须承认,我们从未在应用程序中解决过这些问题——我们只是假设日志框架没有解决fail@spi是的,已有监控工具为监控系统的人员生成警报和通知。但作为一项安全措施,该进程的预期行为是在这种情况下自行终止。@spi java文件读/写操作会抛出已检查的异常,这意味着该操作可能由于许多原因而失败,因为它高度依赖于操作系统的文件系统。因此,我认为在日志框架(如Log4J)中跟踪文件写入失败的功能是一项基本功能。然后,可能创建自己的appender,可能进行扩展,这样就不会吞下这些错误。。。但我怀疑这是否有任何附加值-没有人这样做(14年的Java,从来没有看到过这样的需求…@Daniele也许压缩文件无助于避免IO异常-在循环中添加压缩比在现有文件中添加几个原始字节更有可能产生IOE。顺便说一句,当API不符合您的需要时,扩展API实际上是改变其行为的一种方式。