如何自动删除 QuestDB 中的日志文件?
How can I automatically delete log files in QuestDB?
我启用了 QuestDB 运行 调试日志记录,日志文件增长非常快,每天增加几 GB。我如何设置才能使其保留的日志不超过 X GB 或 X 天?
我考虑过做一个 bash 脚本来拆分日志文件,但我认为在数据库写入日志文件时尝试从文件中删除不是一个好主意。
您可以按照
中所述更改日志记录配置
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,没有正确记录
我启用了 QuestDB 运行 调试日志记录,日志文件增长非常快,每天增加几 GB。我如何设置才能使其保留的日志不超过 X GB 或 X 天?
我考虑过做一个 bash 脚本来拆分日志文件,但我认为在数据库写入日志文件时尝试从文件中删除不是一个好主意。
您可以按照
中所述更改日志记录配置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,没有正确记录