logback additivity为false,但仍休眠Tomcat控制台上生成的sql日志
如何生成2个日志文件;我们将记录由show sql=true属性生成的休眠sql消息。另一个将记录其余的Hibernate日志 我已经配置了logback.xml,如下所示:logback additivity为false,但仍休眠Tomcat控制台上生成的sql日志,sql,hibernate,logback,Sql,Hibernate,Logback,如何生成2个日志文件;我们将记录由show sql=true属性生成的休眠sql消息。另一个将记录其余的Hibernate日志 我已经配置了logback.xml,如下所示: <logger name="org.hibernate" level="debug" additivity="false"> <appender-ref ref="hibernate" /> </logger> <logger name="org.hibernate.SQ
<logger name="org.hibernate" level="debug" additivity="false">
<appender-ref ref="hibernate" />
</logger>
<logger name="org.hibernate.SQL" additivity="false">
<appender-ref ref="hibernate-sql" />
</logger>
它正在按预期生成2个日志文件。但是,它在Tomcat控制台、hibernate appender和hibernate sql appender中复制hibernate sql日志消息
如何限制回写以仅在Hibernate sql appender中生成Hibernate sql日志?Hibernate以两种完全不同的方式写入生成的sql。当您将hibernate.show_sql属性设置为true时,它会告诉hibernate将生成的sql写入标准输出。没有任何日志框架以任何方式参与其中。这就是为什么你几乎不应该使用它。只要从配置中删除该属性,Tomcat控制台中的SQL就会消失 Hibernate编写SQL的第二种方式,也是您应该使用的方式,是将其发送到org.Hibernate.SQL日志类别下的日志框架。它与hibernate.show\u sql完全没有连接
另外,如果您不知道,Hibernate还使用org.Hibernate.type类别记录绑定到准备语句参数的所有值。这是hibernate.show_sql无法实现的,因此使用hibernate的日志记录而不是show_sql更灵活,信息量也更丰富。hibernate以两种完全不同的方式编写生成的sql。当您将hibernate.show_sql属性设置为true时,它会告诉hibernate将生成的sql写入标准输出。没有任何日志框架以任何方式参与其中。这就是为什么你几乎不应该使用它。只要从配置中删除该属性,Tomcat控制台中的SQL就会消失 Hibernate编写SQL的第二种方式,也是您应该使用的方式,是将其发送到org.Hibernate.SQL日志类别下的日志框架。它与hibernate.show\u sql完全没有连接 另外,如果您不知道,Hibernate还使用org.Hibernate.type类别记录绑定到准备语句参数的所有值。这是hibernate.show_sql无法实现的,因此使用hibernate的日志记录而不是show_sql更灵活,信息量也更大