Logging 如何使用Boost.log将日志写入格式化文件夹?
Boost.Log支持可配置的文件名,例如%Y\u%m\u%d\u sample\u%N.Log。我想要的是把它们放在不同的文件夹中,比如说,“%Y\u%m\u%d/sample\u%N.log”,但它创建了一个名为“%Y\u%m\u%d”的文件夹,而我期待的是“2011\u 05\u 02”(对于我正在尝试的日期),你知道如何获得我想要的吗?谢谢,它不能这样做,因为它需要创建目录。基本上,您无法在操作系统级别的不存在目录中动态创建文件。这就是为什么它会解析您配置的名称,并仅对文件名而不是目录重用动态模板的原因。相反,您可以使用crontab中的几个shell命令将这些文件移动到相应的目录。真遗憾,我认为它是可以实现的。因为他们可以动态创建文件,所以他们也应该能够创建文件夹。@JQ:它仍然可以通过自定义后端实现(这并不难实现,只是您可能需要重新实现所有日志滚动行为)。您甚至可以破解文件收集器,以便在处理完文件后,至少可以将文件收集到不同的目录(取决于它们的日期)。不过,最简单(也是最丑陋)的方法是简单地复制Boost.Log自己的后端,并根据文件名模式修改它以动态创建目录。Logging 如何使用Boost.log将日志写入格式化文件夹?,logging,boost,boost-log,Logging,Boost,Boost Log,Boost.Log支持可配置的文件名,例如%Y\u%m\u%d\u sample\u%N.Log。我想要的是把它们放在不同的文件夹中,比如说,“%Y\u%m\u%d/sample\u%N.log”,但它创建了一个名为“%Y\u%m\u%d”的文件夹,而我期待的是“2011\u 05\u 02”(对于我正在尝试的日期),你知道如何获得我想要的吗?谢谢,它不能这样做,因为它需要创建目录。基本上,您无法在操作系统级别的不存在目录中动态创建文件。这就是为什么它会解析您配置的名称,并仅对文件名而不是目录重