java - Log4j 每个实例写入一个文件

标签 java tomcat log4j

我正在编写一个将在 tomcat 服务器上运行的应用程序。该应用程序为我们服务的每个客户实例化多次。

我正在向应用程序介绍 Log4j。将创建一个客户端文件并将日志输出写入其中。

我面临的问题是每次创建新实例时,其他客户端的日志输出都会写入新的客户端日志文件。

在应用程序中,我像这样为每个日志实例化记录器:

private static final Logger logger = Logger.getLogger(name_of_class.class);

我如何确保应用程序的先前实例只会记录到它自己的文件,而不会溢出到其他客户端?

最佳答案

所以我设法解决了它。

问题在于在记录器所在的类之后命名记录器。我所做的是将记录器声明移动到其他类调用的方法。

当调用该方法时,它会实例化一个以客户端命名的记录器,即

Logger.getLogger("客户端名称");

这样输出总是只写入客户端文件,即使类被实例化,客户端记录器被调用。

感谢您帮助我完成思考过程。

关于java - Log4j 每个实例写入一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25669574/

相关文章:

java - 如何设置过滤器链执行顺序

java - 从单个方法中创建和使用 ArrayList?

rest - 使用 REST 返回值

tomcat - TIBCO Business Works HTTP 连接

java - RCPT 至 : <rcpt@host> SMTP syntax

java - iCal 中的 HTML 使用 iCal4j

java - 追踪 OutOfMemoryError

java - 用于 ObjectArray 的 Guava jar(Google 核心库),在 log4j 上打印大量消息

Maven 类路径错误多个 SLF4J 绑定(bind)

log4j - 在 log4j 中使用 RollingFileAppender、DailyRollingFileAppender、ConsoleAppender。不工作