当前位置: 首页 > 知识库问答 >
问题:

如何将Hibernate sql语句记录在日志文件而不是控制台中

壤驷乐邦
2023-03-14
spring.jpa.show-sql=true
logging.path=/logs

共有1个答案

姬昀
2023-03-14

请在配置中添加以下行(如何在Spring Boot中记录SQL语句?)

#show sql statement
logging.level.org.hibernate.SQL=debug
#show sql values
logging.level.org.hibernate.type.descriptor.sql=trace

show-sql导致语句登录到stdout Hibernate show sql等于stdout

如果您想为Hibernate日志使用不同的文件,可以添加logback.xml。并为org.hibernate记录器定义一个文件附加器

<configuration>
     <appender name="fileAppender"
                  class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>${DEV_HOME}/[yourlognamefile].log</file>
            <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
                <Pattern>
                    %d{yyyy-MM-dd HH:mm:ss} - %msg%n
                </Pattern>
            </encoder>
    
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!-- rollover daily -->
                <fileNamePattern>${DEV_HOME}/archived/[yourlognamefile].%d{yyyy-MM-dd}.%i.log
                </fileNamePattern>
                <timeBasedFileNamingAndTriggeringPolicy
                        class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                    <maxFileSize>10MB</maxFileSize>
                </timeBasedFileNamingAndTriggeringPolicy>
            </rollingPolicy>
    
        </appender>
    
    <logger name="org.hibernate" level="DEBUG" />
         <appender-ref ref="fileAppender"/>
    </logger>
</configuration>
 类似资料:
  • 我们使用logback进行日志记录,并且在类路径中有以下JAR JCL-over-SLF4J-1.7.7.jar Logback-Classic-1.1.3.jar Logback-Core-1.1.3.jar SLF4J-API-1.7.7.jar Janino-2.7.8.jar 现在,当我部署我的应用程序时,我确实在application.xxx.log文件中看到了来自spring框架的日志

  • 我已经创建了一个对我来说很好的Webpack构建——它有一个用于热重新加载的dev服务器,还有一个运行模板html文件并集成文件。 这一切都很好,但当我在我的开发服务器上工作时,控制台会给我如下错误消息: 它引用了是错误的来源,而不是我正在使用的组件,这使得很难追踪错误的来源。 据控制台所知,我知道它是包含错误的文件,但如何让控制台记录预绑定代码?(例如,) 提前感谢。

  • 我正在迁移一个遗留的应用程序来使用logback,在这个过程中我试图保持所有的旧功能以相同的方式工作。遗留应用程序所做的一件事是,如果无法写入日志文件(由于空间不足、权限不正确等原因),则将日志记录到控制台 对于logback,似乎应该由StatusListener来处理这个问题,我可以使用getOrigin获得筛选后的附加程序,但我不知道如何获得与origin附加程序相关联的日志记录程序。有可能

  • 无需创建特定的配置。因为我使用而不必亲自配置日志记录。

  • 问题内容: 我可以配置为将日志写在文件上,而不是在控制台上打印吗? 问题答案: 2013年更新- 围绕Node v0.2和v0.4编写;现在,围绕日志记录有更好的工具。我强烈推荐温斯顿 2013年末更新- 我们仍然使用winston,但现在有了记录器库,用于围绕自定义对象的记录和格式来包装功能。这是我们logger.js的示例 https://gist.github.com/rtgibbons/7

  • 问题内容: 当运行Spring / Hibernate应用程序时,我在控制台上看到以下不需要的输出: 我已经像这样配置了Log4j记录器: 如何使这些消息静音? 问题答案: 我相当确定您正在看到这些SQL语句,因为Hibernate配置中某处的属性“ hibernate.show_sql”设置为true。找到该设置并将其更改为false。