[英]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.