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
Exception 处理由日志记录引起的异常_Exception_Logging - Fatal编程技术网

Exception 处理由日志记录引起的异常

Exception 处理由日志记录引起的异常,exception,logging,Exception,Logging,我们都知道日志记录非常重要,而且有许多潜在的地方可以登录。(例如,文件、数据库、事件日志等) 但是,当日志记录本身引发异常时,您会怎么做?如果我们尝试登录到一个文件,但没有权限,或者该文件被锁定,我们可以登录到事件日志。我不知道这将如何发生,但我假设有一些场景可能会导致事件日志的记录也失败。您将如何处理日志记录时发生的异常,以确保在某处报告它 哪些日志记录方法最不可能失败? 哪些日志记录方法最有可能失败 我目前的方案是将所有日志记录都放到一个文件中,还有一点也放到事件日志中。如果记录到文件失败,

我们都知道日志记录非常重要,而且有许多潜在的地方可以登录。(例如,文件、数据库、事件日志等)

但是,当日志记录本身引发异常时,您会怎么做?如果我们尝试登录到一个文件,但没有权限,或者该文件被锁定,我们可以登录到事件日志。我不知道这将如何发生,但我假设有一些场景可能会导致事件日志的记录也失败。您将如何处理日志记录时发生的异常,以确保在某处报告它

哪些日志记录方法最不可能失败? 哪些日志记录方法最有可能失败


我目前的方案是将所有日志记录都放到一个文件中,还有一点也放到事件日志中。如果记录到文件失败,我会将其记录到事件日志中。对于事件日志失败,我没有一个很好的计划。

我认为你做得太深了。日志框架应该自行处理。这意味着:没有例外,除非幕后发生了非常可怕的事情

文件锁定异常不应出现。如果他们这样做,您的日志框架就有缺陷。这意味着您使用了一个错误的框架,因为这将是一个非常根本的缺陷

第二,文件权限。由您决定日志文件的显示位置。如果您不考虑文件和目录权限,那是您的错。您必须确保您的记录器可以在您告诉它要记录的地方进行记录

底线:登录到文件。这是最方便的方式。还有,最快的方式。登录到数据库总是会失败。如果框架足够健壮,它不会抛出任何异常。您必须确保文件权限设置正确。这就是全部