使用来自多个进程的 pantheios 并发写入日志文件

Concurrent writes to log file with pantheios from multiple processes

本文关键字:并发 pantheios 文件 日志 进程      更新时间:2023-10-16

>任何人都知道Pantheios是否支持从多个进程并发写入日志文件。如果我启动程序的两个实例,则不会将任何内容写入日志文件。我应该在库中设置一些参数以便它可以工作,还是只是不支持它?

好的,

这是 3 个月前,但仍然是一个相关的未回答问题。我们遇到了这个问题,发现它记录在这里适用于Windows:

您需要设置 PANTHEIOS_BE_FILE_F_SHARE_ON_WINDOWS 标志,以便传递给 be_file_Context::Open() 方法 (pantheios bec.file.cpp) 中的 CreateFile() 的共享模式参数包含FILE_SHARE_WRITE。

例如,您的 pantheios_be_file_setFilePath() 调用可以是:

pantheios_be_file_setFilePath(your_path_name.c_str(),
  PANTHEIOS_BE_FILE_F_SHARE_ON_WINDOWS,
  PANTHEIOS_BE_FILE_F_SHARE_ON_WINDOWS,
  PANTHEIOS_BEID_ALL);