我用的是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
?