我用两个进程运行了以下代码。在输出中,只有一个条目。我每次都得到不同的排名。似乎每个进程都会覆盖文件。如何让所有进程在不覆盖的情况下记录消息?
预期结果(顺序可能不同):
0
1
实际结果:
0 // and sometimes 1
代码:
#include <boost/log/trivial.hpp>
#include <boost/log/utility/setup/file.hpp>
#include <boost/mpi.hpp>
int main()
{
boost::mpi::environment env;
boost::mpi::communicator world;
boost::log::add_file_log("sample.log");
BOOST_LOG_TRIVIAL(info) << world.rank();
return 0;
}