我正在开发一个客户端 api,其中我有一个特定的要求,将客户端 api 特定的日志消息记录到一个单独的文件中,这非常简单:我创建了一个 appender 并将 appender 与特定于我的包的 logger 相关联。
现在的问题是:
如果客户端应用程序有自己的 log4j.xml 会发生什么?我的 appender 和 logger 将如何在该环境中工作?
log4j 初始化过程只处理一个配置文件——因此这个文件应该包含所有应该处于活动状态的日志配置。您可能必须为包含您和客户端应用程序日志记录配置的客户端应用程序定义特定配置。
客户端应用程序必须配置为使用该文件进行初始化。这是通过按照log4j 手册log4j.configuration
中的描述设置系统属性来完成的(假设您使用的是 log4j 1)。