最近,我想实现一个与Tomcat
的日志机制非常相似的日志功能。我只是想知道,Tomcat
如何实现不同的Web应用程序可以具有不同的日志记录配置,您不必担心它们会相互干扰。由于我之前通过谷歌发现了一些信息,Tomcat使用自己的自定义ClassLoaderLogManager
,它是类加载器感知的。而且我知道这一点。但通过我自己的实验,我更改了ClassLoaderLogManager.java
并替换了tomcat-juli.jar
,我发现当我调用logger.info("")
时,我的网络应用程序中引入的日志界面似乎没有与ClassLoaderLogManager
的互动。所以我真的不知道Tomcat
如何完成这项工作。
而且,如果想在一个Java应用程序中通过不同的类加载器实现不同的日志输出,我该怎么办?
答案 0 :(得分:0)
Tomcat使用自己的自定义ClassLoaderLogManager,它可以识别类加载器。
[剪断]
所以我真的不知道Tomcat如何完成这项工作。
你已经知道它是如何做到的,只是你的实验出了问题。从simple test case first开始,然后继续前进。
而且,如果想在一个Java应用程序中通过不同的类加载器实现不同的日志输出,我该怎么办?
如果您只关心输出,那么您可以创建一个可以根据当前类加载器切换输出的自定义格式化程序。然后在处理程序上安装该格式化程序。