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.xml
或context.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示例。