Logback允许您使用JNDI数据源定义DBAppender,如下所示:

<connectionSource class="ch.qos.logback.core.db.JNDIConnectionSource">
    <jndiLocation>java:comp/env/jdbc/dbLogging</jndiLocation>
</connectionSource>


我将将此Java应用程序作为WAR部署到Tomcat,但希望在我在Eclipse或独立的Tomcat实例中进行本地测试时,数据库记录功能能够正常工作。在哪里/如何配置Logback在读取上述配置时将使用的JNDI数据源?提前致谢!

最佳答案

在独立的tomcat实例中,您将在tomcat中配置server.xmlcontext.xml以按常规定义数据源(请参见here

为了在Eclipse中本地使用它(即没有Web容器),您可以将connectionSource更改为:

<connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">
  <driverClass>com.mysql.jdbc.Driver</driverClass>
  <url>jdbc:mysql://host_name:3306/datebase_name</url>
  <user>username</user>
  <password>password</password>
</connectionSource>


另请参见logback manual on appenders,其中包含一个tomcat示例。

10-02 11:23