我正在嘗試將stdout和stderr重定向到日誌文件。將stdout和stderr重定向到C++中的文件
/* Redirecting stderr buffer to stdout */
dup2(fileno(stdout), fileno(stderr));
/* Redirecting stdout buffer to logfile */
if((LogStream = freopen(LogPath.c_str(), "w", stdout)) == NULL)
{
cout << "Failed to redirect console logs\n";
}
.
.
. //other code
.
.
fclose(LogStream);
LogStream = freopen (NULL_LOG, "w", stdout);
這就是我正在做的。但是我仍然錯過了一些日誌。我開始知道,當我執行我的應用程序註釋掉這些代碼行。我對這段代碼有疑問。請提供您的反饋意見。
我認爲你應該提供更多的上下文。什麼是不在日誌中的消息?何時何地觸發代碼?這些方面應該回答你的問題。 –