Fed*_*rik 5 hibernate logback c3p0 hibernate-annotations
我正在尝试使用hibernate的logback,看起来很简单,但我无法让它工作
的hibernate.cfg.xml
<!-- DB Properties -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
<property name="hibernate.current_session_context_class">thread</property>
<!-- DB Connection -->
<property name="hibernate.connection.url"> XXXXXXXXXXXXX</property>
<property name="connection.username">XXXXXXXXXX</property>
<property name="connection.password">XXXXXXXXXX</property>
<!-- c3p0 config -->
<property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
<property name="hibernate.c3p0.acquire_increment">1</property>
<property name="hibernate.c3p0.idle_test_period">100</property>
<property name="hibernate.c3p0.min_size">10</property>
<property name="hibernate.c3p0.max_statements">50</property>
<property name="hibernate.c3p0.timeout">1800</property>
</session-factory>
Run Code Online (Sandbox Code Playgroud)
logback.xml
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>%d{yyyy-MM-dd_HH:mm:ss.SSS} %-5level %logger{36} - %msg%n
</Pattern>
</encoder>
</appender>
<appender name="FILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>c:/timesheet.log</file>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>%d{yyyy-MM-dd_HH:mm:ss.SSS} [%thread] %-5level %logger{36} -
%msg%n
</Pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<FileNamePattern>c:/timesheet.%i.log.zip</FileNamePattern>
<MinIndex>1</MinIndex>
<MaxIndex>10</MaxIndex>
</rollingPolicy>
<triggeringPolicy
class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>2MB</MaxFileSize>
</triggeringPolicy>
</appender>
<logger name="org.hibernate" level="ALL"/>
<root level="INFO">
<appender-ref ref="FILE" />
<appender-ref ref="STDOUT" />
</root>
Run Code Online (Sandbox Code Playgroud)
控制台输出
休眠:选择this_.id_utente为id1_2_3_,this_.valido为valido2_3_,aziendagru2_.id_azienda_gruppo为id1_0_0_,aziendagru2_.logo为logo0_0_,aziendagru2_.nome_azienda为nome3_0_0_,aziendagru2_.sottotitolo_due为sottotit4_0_0_,aziendagru2_.sottotitolo_uno为sottotit5_0_0_,livello3_.id_livello为id1_3_1_ ,livello3_.descrizione如descrizi2_3_1_,utentianag4_.id_utente_anagrafica如id1_1_2_,utentianag4_.cognome如cognome1_2_,utentianag4_.nome从ts_utenti nome1_2_ THIS_左外连接上this_.id_azienda_gruppo = ts_aziende_gruppo aziendagru2_ aziendagru2_.id_azienda_gruppo左外连接上this_.id_livello ts_livelli livello3_ = livello3_.id_livello left this join ts_utenti_anagrafica utentianag4_ on this_.id_utente_anagrafica = utentianag4_.id_utente_anagrafica where this_.username =?和this_.password =?
您看到的控制台输出是因为您的休眠配置中有以下内容:
<property name="hibernate.show_sql">true</property>
Run Code Online (Sandbox Code Playgroud)
这告诉 hibernate 将 sql 准备好的语句记录到控制台。
很难从你的问题中判断 logback 日志记录是否工作正常,否则,但如果不是,这里有一个非常好的(如果有点过时;只需更新版本号)教程来启动和运行它。
编辑
如果上述教程不起作用,那么您可能正在使用 Hibernate 4 版本。
在 hibernate 的更高版本中,日志记录框架从 slf4j 切换到 JBoss 日志记录。这意味着 slf4j 不再是 Hibernate 依赖项。
您需要将最新的 slf4j JAR 添加到类路径中。
| 归档时间: |
|
| 查看次数: |
3957 次 |
| 最近记录: |