簡體   English   中英

更改HikariCP日志文件

[英]Change HikariCP Logging file

我目前正在使用Sl4j 1.7.25和logback-classic-1.2.3

放置在tomcat的類路徑(即WEB-INF / classes)中的logback.xml如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<configuration>

  <appender name="FILE" class="ch.qos.logback.core.FileAppender">
    <file>${catalina.home}/logs/foodini.log</file>
    <append>true</append>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
      <Pattern>[%d{dd-MMM-yyyy HH:mm:ss.SSS}] [%logger] [%-5level] - %msg%n</Pattern>
    </encoder>
  </appender>


  <root level="ALL">
    <appender-ref ref="FILE" />
  </root>

</configuration>

這可以正常工作,並且所有內容都會記錄在tomcat日志目錄下的foodini.log文件中。

現在不幸的是,HikariCp還以大約30秒的間隔不斷記錄到同一文件。 它基本上寫池事件和泄漏以及所有事件。 我需要將此文件放在一個單獨的文件中,例如hikari.log,而不是在foodini.log中,該文件僅是我的Web應用程序的日志,以避免混亂。

我試過了 :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<configuration>

  <appender name="FILE" class="ch.qos.logback.core.FileAppender">
    <file>${catalina.home}/logs/foodini.log</file>
    <append>true</append>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
      <Pattern>[%d{dd-MMM-yyyy HH:mm:ss.SSS}] [%logger] [%-5level] - %msg%n</Pattern>
    </encoder>
  </appender>


  <appender name="HIKARI" class="ch.qos.logback.core.FileAppender">
    <file>${catalina.home}/logs/hikari.log</file>
    <append>true</append>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
      <Pattern>[%d{dd-MMM-yyyy HH:mm:ss.SSS}] [%logger] [%-5level] - %msg%n</Pattern>
    </encoder>
  </appender>

  <logger name="com.zaxxer.hikari">
    <appender-ref ref="HIKARI" />
  </logger>

  <root level="ALL">
    <appender-ref ref="FILE" />
  </root>

</configuration>

它確實創建了一個名為hikari.log的新文件,但所有內容仍然記錄在foodini.log中

對於任何一個servlet我都可以使用:

private static final Logger LOG = LoggerFactory.getLogger(ServeletName.class);

獲得記錄器,並且工作正常。

編輯:將記錄器配置添加到logback文件中,現在日志進入文件foodini.log和hikari.log ...現在,我需要從進出foodini.log文件的hikari日志

對於任何感興趣的人,我創建的配置logback.xml幾乎是正確的,僅缺少一件事,那就是logger元素上的可累加屬性。 如果不將其設置為false,則hikari日志將轉到兩個文件,而不是僅轉至hikari.log文件,這里是更新且有效的配置示例,以獲取兩個不同的日志文件,一個位於tomcat webapp上,另一個用於hikari config,pool和錯誤日志

<appender name="FILE" class="ch.qos.logback.core.FileAppender">
    <file>${catalina.home}/logs/foodini.log</file>
    <append>true</append>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
        <Pattern>[%d{dd-MMM-yyyy HH:mm:ss.SSS}] [%logger] [%-5level] - %msg%n</Pattern>
    </encoder>
</appender>

<appender name="HIKARI" class="ch.qos.logback.core.FileAppender">
    <file>${catalina.home}/logs/hikari.log</file>
    <append>true</append>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
        <Pattern>[%d{dd-MMM-yyyy HH:mm:ss.SSS}] [%logger] [%-5level] - %msg%n</Pattern>
    </encoder>
</appender>

<logger name="com.zaxxer.hikari" level="ALL" additivity="false">
    <appender-ref ref="HIKARI" />
</logger>

<root level="ALL">
    <appender-ref ref="FILE" />
</root>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM