如何停止 wt c++ 写入标准输出(控制台)
How to stop wt c++ writing to stdout (console)
Wt 是一个 C++ 框架,它和许多其他框架一样,将事件的结果写入标准输出,也就是控制台。虽然应用程序的另一端正在使用的内容也写入其中,但所有这些信息都杂乱无章,难以阅读。目的是将 Wt 中的所有内容写入日志文件。
从源代码中我发现了一些东西:
Wt::WLogger logger;
logger.setFile("logging_file.txt");
logger.configure("* -debug debug:wthttp");
但是,我仍然无法阻止它写入标准输出。需要的东西看起来像。
Wt::WLogger logger;
logger.setFile("logging_file.txt");
logger.configure("-no_std_out"); //this is a made up argument
How to redirect stdout from wt to some file?
也许pipes can help you
如果我正确理解了你的问题:你需要创建一个ofstream类型的对象,然后按如下方式使用它:
#include <iostream>
#include <fstream> // needed for file operation
int main () {
std::ofstream file;
file.open ("hello.txt");
// now do your calculation, other stuff...
// write to the file
file << "Text here\n";
file.close();
return 0;
}
当然,这是最基本的东西。例如,可以找到更多详细信息here。
Wt 的记录器输出的所有内容都会写入您的配置中配置的日志文件中。将日志记录重定向到文件的最短配置文件如下:
<server>
<application-settings location="*">
<log-file>/path/to/logfile</log-file>
</application-settings>
</server>
有一个例外:Wt::Dbo 经常记录到 stderr。我们(Wt 开发人员)将来可能会对此进行更改,使其也更具可配置性。
您的代码示例将只配置一个特定的 WLogger 实例,并且不适用于 Wt 本身的日志记录,它使用自己的记录器。您可以使用 WServer::logger()
.
访问该实例
还有访问日志。您可以使用 --accesslog
选项配置它的位置。
Wt 是一个 C++ 框架,它和许多其他框架一样,将事件的结果写入标准输出,也就是控制台。虽然应用程序的另一端正在使用的内容也写入其中,但所有这些信息都杂乱无章,难以阅读。目的是将 Wt 中的所有内容写入日志文件。
从源代码中我发现了一些东西:
Wt::WLogger logger;
logger.setFile("logging_file.txt");
logger.configure("* -debug debug:wthttp");
但是,我仍然无法阻止它写入标准输出。需要的东西看起来像。
Wt::WLogger logger;
logger.setFile("logging_file.txt");
logger.configure("-no_std_out"); //this is a made up argument
How to redirect stdout from wt to some file?
也许pipes can help you
如果我正确理解了你的问题:你需要创建一个ofstream类型的对象,然后按如下方式使用它:
#include <iostream>
#include <fstream> // needed for file operation
int main () {
std::ofstream file;
file.open ("hello.txt");
// now do your calculation, other stuff...
// write to the file
file << "Text here\n";
file.close();
return 0;
}
当然,这是最基本的东西。例如,可以找到更多详细信息here。
Wt 的记录器输出的所有内容都会写入您的配置中配置的日志文件中。将日志记录重定向到文件的最短配置文件如下:
<server>
<application-settings location="*">
<log-file>/path/to/logfile</log-file>
</application-settings>
</server>
有一个例外:Wt::Dbo 经常记录到 stderr。我们(Wt 开发人员)将来可能会对此进行更改,使其也更具可配置性。
您的代码示例将只配置一个特定的 WLogger 实例,并且不适用于 Wt 本身的日志记录,它使用自己的记录器。您可以使用 WServer::logger()
.
还有访问日志。您可以使用 --accesslog
选项配置它的位置。