首页 > 解决方案 > 如何自动删除 QuestDB 中的日志文件?

问题描述

我在启用调试日志记录的情况下运行 QuestDB,并且日志文件增长得非常快,它每天增加几 GB。如何设置它以使其保留的日志不超过 X GB 或 X 天?

我考虑过使用 bash 脚本来拆分日志文件,但我认为在数据库写入文件时尝试从文件中删除不是一个好主意。

标签: questdb

解决方案


您可以按照中所述更改日志记录配置

https://questdb.io/docs/reference/configuration/#configuration-file

并使用LogRollingFileWriter

# list of configured writers
writers=file,stdout
# file writer
w.file.class=io.questdb.log.LogRollingFileWriter
w.file.location=log/questdb-debug-info-error.log
w.file.level=DEBUG,INFO,ERROR
w.file.rollSize=100m

这将在每 100 Mb 到一个新文件后开始滚动日志文件。然后,您可以自动归档或删除不需要的日志文件。

滚动可以按大小(如上)或按时间。每天使用滚动

w.file.rollEvery=DAY

支持日、月、年、小时和分钟值。

这一切都来自这里https://github.com/questdb/questdb/blob/master/core/src/main/java/io/questdb/log/LogRollingFileWriter.java,没有正确记录


推荐阅读