我想在logback文件中获取Hibernate Conncection信息(例如driver_class,URL,用户名,密码)。(不是手动)
这个belows是我的记录文件。
<appender name="dbAppender" class="ch.qos.logback.classic.db.DBAppender">
<append>false</append> //unfortunately it does not work.
<connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">
<driverClass>oracle.jdbc.driver.OracleDriver</driverClass>
<url>jdbc:oracle:thin:@localhost:1521:aaa</url>
<user>bbb</user>
<password>ccc</password>
</connectionSource>
</appender>
它有效。但是我想从Hibernate.cfg.xml自动获取有关连接信息(例如驱动程序类,URL,用户,密码)的信息。
您的合作将不胜感激。
请帮助。
谢谢。
从hibernate.cfg.xml
中获取值可能需要编写一些代码。但是,如果您将所有冬眠属性外部化在属性文件中,则可以将其导入到记录配置中。
Hibernate支持使用 hibernate.properties
的属性文件,在classPath的根中,或者在配置会话工厂时,您可以将java.util.Properties
的实例传递给Configuration.setProperties()
。
如果您可以将Hibernate属性获取到属性文件中,则可以从记录中使用它:
classPath上的属性文件
<configuration>
<property resource="hibernate.properties" />
<appender name="dbAppender" class="ch.qos.logback.classic.db.DBAppender">
<append>false</append> //unfortunately it does not work.
<connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">
<driverClass>${hibernate.connection.driver_class}</driverClass>
<url>${hibernate.connection.url}</url>
<user>${hibernate.connection.username}</user>
<password>${hibernate.connection.password}</password>
</connectionSource>
</appender>
</configuration>
如果您的属性不在类路径上,则可以使用<property file="path/to/some.properties" />
。