关于ACE_NTRACE的问题
如果要打开ace_trace,就必须#define ACE_NTRACE 0,但是这样子就会把ACE内部调用的trace全部打印出来了,有没有办法只打印我自己的ACE_TRACE,而不打印ACE内部的,谢谢达人 LOG分级呀。多简单的事情。自己仔细看看ACE的log系统。基本上你能想到的,早就做好了。回复 #2 winston 的帖子
恩,我现在就是这么做的,// ACE_LOG_MSG->priority_mask (LM_INFO | LM_ERROR,
// ACE_Log_Msg::PROCESS);
那么ACE_Trace就不太好用了,我用ACE_Stream时打印出很多日志来
谢谢了。
回复 #3 rainfish 的帖子
winston说的够明白了,最好的方法是跟一下源码,什么都看明白了,ACE_LOG_MSG->priority_mask (LM_INFO | LM_ERROR,ACE_Log_Msg : : ROCESS);
改为
ACE_LOG_MSG->priority_mask (LM_INFO | LM_ERROR|LM_TRACE,ACE_Log_Msg : : ROCESS);
加了LM_TRACE ,就会打印出TRACE的内容。否则就不会打印。
ACE_LOG_MSG->log(LM_*,...); 第一个参数就是控制消息的类型的呀
回复 #4 czf0754 的帖子
对于已经编译好的libACE.so中的函数,虽然使用了ACE_TRACE,但是由于编译的时候默认的Trace功能是关闭的,因此我们调用 libACE.so库中的函数的时候基本上没有Trace打印,对于我们学习和了解整个系统的运行和调用顺序不太有利,如果打开Trace功能,那么需要重新编译ACE库。config-all.h
// By default tracing is turned off. // 默认的是关闭,我们只要修改为打开就可以了
#if !defined (ACE_NTRACE)
#define ACE_NTRACE 1--> 0 // 将1修改为0
#endif /* ACE_NTRACE */
不知道你想要的是不是想要类似上面的效果
页:
[1]