在网络开发中,我有自己的框架,它使用日志文件来帮助我进行开发并监控错误或生产。这个 web 框架几乎总是在 *nix 上运行,使用简单的纯文本作为日志文件、logrotate 和 tail。
今天我正在创建一个 win32 应用程序,它将充当 TCP/IP 服务器(这是一个桌面应用程序,但嵌入了一些服务),我需要记录事件以便知道什么时候出现问题(在生产和开发中) ,在我创建它时进行调试)。
我记得 MFC,我有 TRACE 宏。这对开发调试来说很好。纯win32开发有TRACE之类的吗?
对于生产日志,事件日志记录的最佳方法是什么? Windows 事件日志或简单的纯文本文件?如何在 Windows 中旋转它?
谢谢, 丹尼尔·科赫
最佳答案
对于开发,通常使用一些 OutputDebugString
包装就足够了:
inline void logA(const char* format, ...)
{
char buf[1024];
wvsprintfA(buf, format, ((char*)&format) + sizeof(void*));
OutputDebugStringA(buf);
}
#define DEBUG_LOG_A(format, ...) logA( \
"(#" BOOST_PP_STRINGIZE( __LINE__ ) ") "__FUNCTION__ " : " \
format, __VA_ARGS__)
和DebugView观看它。
关于c - 应用程序登录纯 win32 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4459445/