我们可以通过两种方式调用Log4j
1)在包的每个类中都有静态Logger引用并调用logger
2) 在一个“静态”类中拥有一个静态 Logger 引用,并从任何地方引用这个“静态”类
根据内存,哪种方法有效,哪种方法一般较好?
最佳答案
第一种方法使您能够控制(例如设置级别)每个类的日志记录。这是以拥有大量 Logger 实例为代价的。
第二种方法给你一个单一的Logger实例,但只允许你控制 记录整个应用程序。
据我所知,在长时间运行的应用程序中,拥有大量(静态)Logger 实例的唯一持续成本是内存使用量的小增量。因此,这是内存使用量的小幅增加和应用程序日志记录的灵 active /可配置性之间的权衡。
虽然我不会在每个类中创建一个记录器,但我认为如果您在整个应用程序中仅使用一个记录器,您(或您的用户/客户)可能会后悔。
关于java - Log4j加载内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1484831/