2011-05-01 158 views
0

Boost.Log支持可配置的文件名,例如%Y_%M_%d_sample_%N.log。我想要的是將它們放在不同的文件夾中,比如「%Y_%m_%d/sample_%N.log」,但是它創建了一個名爲「%Y_%m_%d」的文件夾,而我期待「2011_05_02」 (我正在嘗試的日期),你知道如何得到我想要的嗎?謝謝如何使用Boost.Log將日誌寫入格式化的文件夾?

回答

1

它不能這樣做,因爲它需要創建目錄。基本上你不能在操作系統級別的不存在的目錄中動態創建文件。這就是爲什麼它會解析您配置的名稱,並且僅爲文件名而不是目錄重用動態模板。你可以做的是可能使用crontab中的少量shell命令將這些文件移動到相應的目錄。

+1

真可惜,我覺得可以實施。由於他們可以即時創建文件,因此他們也應該能夠創建文件夾。 – 2011-05-10 08:07:19

+0

@JQ:它仍然可以實現 - 帶有一個自定義後端(除非您可能需要重新實現所有日誌滾動行爲,否則這不是很難實現)。您甚至可以破解file_collector,以便在完成後,文件將*至少收集到不同的目錄(取決於它們的日期)。儘管最簡單(也是最醜陋)的方法是簡單地複製Boost.Log自己的後端,並根據文件名模式對其進行修改以便即時創建目錄。 – 2011-05-11 16:12:21

相關問題