日志文件名中的 Pantheios 日期/时间

Pantheios Date/Time in log file name

本文关键字:日期 时间 Pantheios 文件名 日志      更新时间:2023-10-16

我在我的应用程序中使用Pantheios,我想每小时生成一个新的日志文件。我看过博客文章,其中解释了如何使用以下内容添加日期和时间(http://blog.pantheios.org/2010/10/pantheios-101-beta-197-released-befile.html):

pantheios_be_file_setFilePath("test-%T-%D.log");

其中 %T 说明符替换为当前时间,格式为 HHMMSS。%D 说明符将替换为当前日期,格式为 YYYYMMSS。

上面的示例将每分钟创建一个唯一的文件。我的问题是是否可以每小时创建一个文件。我尝试使用 %H 和 %HH,但都不起作用。提前感谢任何帮助。

你的问题有点不正确。

上面的示例将每分钟创建一个唯一的文件。

你为什么这么认为?通过使用函数 pantheios_be_file_setFilePath(),您只需为日志文件设置一个唯一的名称,仅此而已(而不是定期调用以创建新文件)。如果我错过了什么,请纠正我,但没有任何代码行,每分钟创建一个新文件。如果需要,请创建一个带有计时器的线程。

顺便说一句,您不能设置与 %T%D 不同的内容,因为 bec.file.cpp:1050 的下一行:

// date format: YYYYMMDD
// time format: hhmmss
pan_char_t const* const date    =   pan_strstr_(fileName, PANTHEIOS_LITERAL_STRING("%D"));
pan_char_t const* const time    =   pan_strstr_(fileName, PANTHEIOS_LITERAL_STRING("%T"));
size_t const            nameLen =   pan_strlen_(fileName);

如您所见,只有两个符号可以解析。没有任何 %H%HH。