当前位置: 首页 > 面试题库 >

禁用从Maven休眠的日志记录

司空繁
2023-03-14
问题内容

我最近将hibernate状态添加到了pom.xml中,并且运行良好。但是,日志记录很烦人,我不确定如何关闭它或限制它的级别(我什至不知道启动所有这些日志记录都包括了什么)。我是新来的,行尸走肉和hibernate。

这是我的pom.xml依赖项:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <!-- Hibernate -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>4.0.1.Final</version>
    </dependency>

    <dependency>
        <groupId>org.hibernate.common</groupId>
        <artifactId>hibernate-commons-annotations</artifactId>
        <version>4.0.1.Final</version>
        <classifier>tests</classifier>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.10</version>
    </dependency>
</dependencies>

日志开始如下:

21:17:15.115 [main] DEBUG org.jboss.logging - Logging Provider: org.jboss.logging.Slf4jLoggerProvider
21:17:15.130 [main] DEBUG org.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BooleanType@ba4d54
21:17:15.130 [main] DEBUG org.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BooleanType@ba4d54
21:17:15.130 [main] DEBUG org.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BooleanType@ba4d54

我尝试将log4j.properties文件添加到我的资源中,但似乎没有任何改变。我还尝试了simplelog.properties(在其他没有帮助的SO帖子之后)。我有点卡在这里,将不胜感激。理想情况下,我只想将记录器设置为关闭,或者仅将mysql查询设置为关闭。

这是依赖关系树:

    [INFO] org.springframework:gs-rest-service:jar:0.1.0
[INFO] +- org.springframework.boot:spring-boot-starter-web:jar:1.1.10.RELEASE:compile
[INFO] |  +- org.springframework.boot:spring-boot-starter:jar:1.1.10.RELEASE:compile
[INFO] |  |  +- org.springframework.boot:spring-boot:jar:1.1.10.RELEASE:compile
[INFO] |  |  +- org.springframework.boot:spring-boot-autoconfigure:jar:1.1.10.RELEASE:compile
[INFO] |  |  +- org.springframework.boot:spring-boot-starter-logging:jar:1.1.10.RELEASE:compile
[INFO] |  |  |  +- org.slf4j:jcl-over-slf4j:jar:1.7.7:compile
[INFO] |  |  |  |  \- org.slf4j:slf4j-api:jar:1.7.7:compile
[INFO] |  |  |  +- org.slf4j:jul-to-slf4j:jar:1.7.7:compile
[INFO] |  |  |  +- org.slf4j:log4j-over-slf4j:jar:1.7.7:compile
[INFO] |  |  |  \- ch.qos.logback:logback-classic:jar:1.1.2:compile
[INFO] |  |  |     \- ch.qos.logback:logback-core:jar:1.1.2:compile
[INFO] |  |  \- org.yaml:snakeyaml:jar:1.13:runtime
[INFO] |  +- org.springframework.boot:spring-boot-starter-tomcat:jar:1.1.10.RELEASE:compile
[INFO] |  |  +- org.apache.tomcat.embed:tomcat-embed-core:jar:7.0.57:compile
[INFO] |  |  +- org.apache.tomcat.embed:tomcat-embed-el:jar:7.0.57:compile
[INFO] |  |  +- org.apache.tomcat.embed:tomcat-embed-logging-juli:jar:7.0.57:compile
[INFO] |  |  \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:7.0.57:compile
[INFO] |  +- com.fasterxml.jackson.core:jackson-databind:jar:2.3.4:compile
[INFO] |  |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.3.4:compile
[INFO] |  |  \- com.fasterxml.jackson.core:jackson-core:jar:2.3.4:compile
[INFO] |  +- org.hibernate:hibernate-validator:jar:5.0.3.Final:compile
[INFO] |  |  +- javax.validation:validation-api:jar:1.1.0.Final:compile
[INFO] |  |  \- com.fasterxml:classmate:jar:1.0.0:compile
[INFO] |  +- org.springframework:spring-core:jar:4.0.8.RELEASE:compile
[INFO] |  +- org.springframework:spring-web:jar:4.0.8.RELEASE:compile
[INFO] |  |  +- org.springframework:spring-aop:jar:4.0.8.RELEASE:compile
[INFO] |  |  |  \- aopalliance:aopalliance:jar:1.0:compile
[INFO] |  |  +- org.springframework:spring-beans:jar:4.0.8.RELEASE:compile
[INFO] |  |  \- org.springframework:spring-context:jar:4.0.8.RELEASE:compile
[INFO] |  \- org.springframework:spring-webmvc:jar:4.0.8.RELEASE:compile
[INFO] |     \- org.springframework:spring-expression:jar:4.0.8.RELEASE:compile
[INFO] +- org.hibernate:hibernate-core:jar:4.0.1.Final:compile
[INFO] |  +- commons-collections:commons-collections:jar:3.2.1:compile
[INFO] |  +- antlr:antlr:jar:2.7.7:compile
[INFO] |  +- org.jboss.spec.javax.transaction:jboss-transaction-api_1.1_spec:jar:1.0.0.Final:compile
[INFO] |  +- dom4j:dom4j:jar:1.6.1:compile
[INFO] |  |  \- xml-apis:xml-apis:jar:1.0.b2:compile
[INFO] |  +- org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar:1.0.1.Final:compile
[INFO] |  +- org.jboss.logging:jboss-logging:jar:3.1.0.CR2:compile
[INFO] |  +- org.javassist:javassist:jar:3.18.1-GA:compile
[INFO] |  \- org.hibernate.common:hibernate-commons-annotations:jar:4.0.1.Final:compile
[INFO] +- org.hibernate.common:hibernate-commons-annotations:jar:tests:4.0.1.Final:compile
[INFO] \- mysql:mysql-connector-java:jar:5.1.10:compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 35.918 s
[INFO] Finished at: 2015-02-07T22:09:37+00:00
[INFO] Final Memory: 20M/203M
[INFO] ------------------------------------------------------------------------

解决方案 是在项目的资源文件夹中添加一个名为“ logback.xml”的配置文件。该文件的内容是:

    <configuration>

  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <!-- encoders are assigned the type
         ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
    <encoder>
      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
  </appender>

  <root level="INFO">
    <appender-ref ref="STDOUT" />
  </root>
</configuration>

问题答案:

您可能DEBUG在日志记录框架配置中设置了全局日志级别。

您需要做的只是将org.hibernate日志级别设置为WARNERROR

  • 登录/ Log4j2
        <logger name="org.hibernate" level="warn"/>
  • Log4j
        <logger name="org.hibernate">
       <level value="warn"/> 
    </logger>


 类似资料:
  • 我正在使用Python日志模块,并希望禁用由我导入的第三方模块打印的日志消息。例如,我使用的是如下所示: 当我执行logger.debug时,它会输出我的调试消息(“my Message!”),但它也会从我导入的任何模块中输出调试消息(如请求和许多其他东西)。 我只想看到我感兴趣的模块的日志消息。有没有可能让日志模块做到这一点?

  • 这也许是一个很简单的问题。如何禁用Hikari-CP调试日志?在我的日志文件我有很多这样的消息 在我的日志4jconfig中。xml: 有人能告诉我记录器配置有什么问题吗? 谢谢!

  • 我们正在使用PDFBox进行一些PDF阅读和操作。但是在解析过程中,我收到了一堆这样的消息: 现在我如何禁用这些?因为如果字体被嵌入,这样的消息会在输入的每个字符上输出,因此日志文件变得非常不可用。 现在,更改总体日志级别不是一个选项,因为我需要来自其他组件的语句。 我使用的是Tomcat 5.5、log4j 1.2.16和pdfbox app 1.6.0 这是我的log4j配置文件: 编辑 修改

  • 问题内容: 我有一些使用该软件包的工具化代码。现在该关闭日志记录了,我无法确定如何关闭标准记录器。 我错过了什么吗?我应该在进行日志调用之前检查标志,还是在生产中将其注释掉? 问题答案: 要完全禁用日志,最好调用Joril并将输出设置为无操作(例如) 但即使在此之后,操作仍将闲置约500-600 ns / op 1 这仍然可切断短路(左右 为100 ns / OP )通过使用自定义的实现,并实现所

  • 我收到一堆这样消息: 我不希望在调试级别记录该文件。如果我不能只使用记录器名称,因为完整的记录器名称包括集群名称(),并且我们根据它所运行的环境对其进行不同的命名,因此类似这样的名称将不起作用: 据我所知,一个选择是使用正则表达式筛选器: null 这是可行的,但我不确定这是否是最佳的?

  • 我有一个服务可以把不必要的信息记录到journald上。这个能完全关掉吗? 我试着用log4j完成它。属于该服务但没有帮助的属性