我正在做一个项目,我必须在项目中使用日志记录,我选择log4r了日志记录。
好吧,我想知道实现它的最佳方法是什么:
- 我是否应该创建一个实例并将该实例用于整个应用程序
- 我应该为每个类创建一个新的静态实例吗
- 我是否应该创建所有记录器的工厂并使用它。
我想实现第 3 个选项,但我不知道该怎么做,谁能告诉我如何实现第 3 个选项。
我正在做一个项目,我必须在项目中使用日志记录,我选择log4r了日志记录。
好吧,我想知道实现它的最佳方法是什么:
我想实现第 3 个选项,但我不知道该怎么做,谁能告诉我如何实现第 3 个选项。
我认为这真的取决于你的项目和你需要的粒度。
归根结底,您记录事件的原因是为了在将来的某个日期您可以查看日志并检查何时发生的事情。鉴于此,您应该尽量让自己更容易找到您可能需要的信息。
如果您只是进行一般日志记录,而您不希望经常浏览,那么应用程序范围的记录器是有意义的,因为如果您的浏览器消耗大量日志文件的开销,这可能不会是一个大问题很少这样做。
如果有您更可能想要查看的特定操作,那么为这些操作单独记录器可能会有所帮助,因为它可以减少查找您想要更经常查找的信息的难度。
一个很好的例子是带有某种支付系统的 Rails 应用程序。在这种情况下,在我看来,最好的选择是为您想要记录的任何支付操作(成功、失败、未处理等)设置一个单独的记录器,然后将 rails 日志用于其他所有操作。这样,我更有可能想要找到的付款信息位于它自己的日志文件中,并且搜索速度更快,但我仍然可以浏览 rails 日志文件以获取我需要的任何其他内容。
希望这能回答你的问题。