Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.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类中使用两个logger实例?_Java_Logging - Fatal编程技术网

为什么在这个java类中使用两个logger实例?

为什么在这个java类中使用两个logger实例?,java,logging,Java,Logging,在java代码中,我看到了两个这样的记录器实例 private static final Logger error = LoggerFactory.getLogger("log.error"); private static final Logger warn = LoggerFactory.getLogger("log.warn"); warn实例调用warn方法 warn.warn() 和错误实例调用 error.error() error.isErrorEnabled() 使用两个实

在java代码中,我看到了两个这样的记录器实例

private static final Logger error = LoggerFactory.getLogger("log.error");
private static final Logger warn = LoggerFactory.getLogger("log.warn");
warn实例调用warn方法

warn.warn()
和错误实例调用

error.error()
error.isErrorEnabled()
使用两个实例有什么用?
为什么不使用单实例?

代码的原始作者可能希望将警告和错误指向他们自己的文件(或其他目的地),但不知道如何通过配置来实现

通常情况下,您只需要一个记录器,然后可以根据您使用的是
warn()
还是
error()
,将其配置为执行不同的操作


没有充分的理由在一个类中使用多个记录器。

代码的原始作者可能希望将警告和错误指向他们自己的文件(或其他目的地),但不知道如何通过配置来实现

通常情况下,您只需要一个记录器,然后可以根据您使用的是
warn()
还是
error()
,将其配置为执行不同的操作


没有充分的理由在一个类中使用多个记录器。

我的猜测可能是因为一个实例无法实现底层行为的某些差异。例如,写入不同的输出源(文件、邮件、日志集中器等)。很难说没有更多context@lab419所有这些都可以通过一个实例来实现,除非您使用的是一些自主开发的日志框架。我的猜测可能是因为一些底层行为的差异,而这些差异是单个实例无法实现的。例如,写入不同的输出源(文件、邮件、日志集中器等)。很难说没有更多context@lab419所有这些都可以通过一个实例实现,除非您使用的是一些自行开发的日志框架。