java - Log4j加载内存?

标签 java logging log4j

我们可以通过两种方式调用Log4j

1)在包的每个类中都有静态Logger引用并调用logger

2) 在一个“静态”类中拥有一个静态 Logger 引用,并从任何地方引用这个“静态”类

根据内存,哪种方法有效,哪种方法一般较好?

最佳答案

第一种方法使您能够控制(例如设置级别)每个类的日志记录。这是以拥有大量 Logger 实例为代价的。

第二种方法给你一个单一的Logger实例,但只允许你控制 记录整个应用程序。

据我所知,在长时间运行的应用程序中,拥有大量(静态)Logger 实例的唯一持续成本是内存使用量的小增量。因此,这是内存使用量的小幅增加和应用程序日志记录的灵 active /可配置性之间的权衡。

虽然我不会在每个类中创建一个记录器,但我认为如果您在整个应用程序中仅使用一个记录器,您(或您的用户/客户)可能会后悔。

关于java - Log4j加载内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1484831/

相关文章:

node.js - 如何为 winston 设置唯一的文件名?

regex - 是否可以排除 apache 访问日志中指定的 GET 参数?

logging - JBoss AS 7 配置日志记录到 Syslog Appender

java - Log4j和AOP,如何获取实际的类名

java - log4j.xml 日志记录在 spring Controller 中不起作用?

java - 有没有更有效的方法来提高嵌套循环查询的性能

logging - (为什么)log4net 不再开发了吗?

Java:VM 如何在 32 位处理器上处理 64 位 `long`

java - 线程 "main"java.lang.AbstractMethodError 中的异常 - Spring Boot 应用程序

java - 如何从我的小程序中获取当前的 Firefox 配置文件路径?