如何在Windows库中正确登录?

时间:2014-08-20 08:35:30

标签: windows winapi logging tracing etw

如果我正在开发静态库,我有哪些日志记录选项?

我的图书馆是:

  • 用C写的
  • 线程安全 - >可能在多线程环境中使用
  • 因为它用作传输层,所以应该是“以性能为导向”

我拥有的选项:

  1. 使用OutputDebugString() - 我真的不喜欢它。首先它使用全球锁和&缓冲所以所有调用者都是同步的,可能会掩盖并发问题。其次,它可能会影响性能。最后,每个人都可以打开DebugView并查看我的日志。
  2. 写入文件 - 我也不喜欢它。基本上是由于与上述相同的问题。
  3. 使用ETW框架 - 我试图使用它。它似乎更适合DLL / EXE,因为我需要知道安装可执行文件的绝对路径,以便跟踪事件。它不适合静态库场景,因为我不知道它。
  4. 还有其他建议吗?

0 个答案:

没有答案