我用的是APG自带的例子。无论在Windows和Linux操作系统下面都无法输出ACE_TRACE的信息?
源码:
----------------------------------------------------------
#include "ace/Log_Msg.h"
void foo (void);
int ACE_TMAIN (int, ACE_TCHAR *[])
{
ACE_TRACE(ACE_TEXT ("main"));
ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IHi Momn")));
foo();
ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IGoodnightn")));
return 0;
}
void foo (void)
{
ACE_TRACE (ACE_TEXT ("foo"));
ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IHowdy Pardnern")));
}
输出:
---------------------------------------------------------
[root@myserver projs]# ./tmp
Hi Mom
Howdy Pardner
Goodnight
需要设置宏ACE_NTRACE,默认状态是不记录TRACE信息的。
#define ACE_NTRACE 0 记录日志
#define ACE_NTRACE 1 不记录日志
可以使用一下两种方法解决问题:
1、修改文件代码
#define ACE_NTRACE 0
#include "ace/Log_Msg.h"
error:
记住不要把上面的顺序给写反呢
写成了:
#include "ace/Log_Msg.h"
#define ACE_NTRACE 0
2、在编译命令上增加定义宏的命令
可以增加如下选项 -DACE_NTRACE