是否可以使用 Log4J/Tomcat 同时处理两个不同级别的日志记录?这是我的情况:我有几个 webapps 在同一个 Tomcat 服务器上运行。其中一些应用程序有自己的 log4j 属性文件(旧版)。
我想添加的是一个带有 JDBCAppender 的新记录器,它可以在所有这些应用程序中工作(它们应该一起使用,所以让它们记录到我们选择的数据库对我们来说非常有用。)我'我已经编写了属性文件条目,以便按照我想要的方式执行此操作(并出于语法目的在其中一个本地属性文件中进行了测试)。
是否可以将这个新的 logger/JDCBAppender 放到服务器级 log4j.properties 文件中,然后让 webapps 访问它?例如,如果我将记录器定义为“com.xxx.yyy”,那么在任何具有“com.xxx.yyy”包中的类的 web 应用程序中,通过如下调用获取所述记录器:
private static Logger logger = Logger.getLogger(MyClass.class);
假设完整的声明是 com.xxx.yyy.MyClass。
我尝试将 log4j.properties 文件放在$CATALINA_HOME/lib
目录中,并将必要的 jar 文件放在同一目录中(如下面的评论中所指示),但是当我启动服务器时,它似乎没有选择那个,尽管它从我的 webapp 中获取了一个。我知道属性文件必须在类路径上才能让 log4j 拾取它,但是如果有多个 log4j.properties 文件,是否会出现某种类似的类路径样式问题?
更新:我已经更新了我尝试过的描述。