poptang 发表于 2010-9-26 14:29:01

ACE日志策略问题,-p参数不起使用

dynamic Logger Service_Object * ACE:_make_ACE_Logging_Strategy() "-m 5120 -o -i 10 -s ./log.log -f OSTREAM|STDERR -p ~TRACE|~DEBUG|~NOTICE
配置如上,但显示的时候还是显示出了debug的日志。平台是windows的

poptang 发表于 2010-9-26 15:07:05

自己再仔细分析了下,在svc.conf里,我动态加载了两个service,一个是ACE的日志策略,还有一个是我自己定义的dll。。。
如果把我自己的dll定义放到日志策略前,log.log文件里没有任何输出,stderr则全打印
如果把我自己的dll定义放到日志策略后,log.log文件有我的dll的所有日志输出,stderr也全打印。
而日志策略对本身的exe是管用的,debug的日志都没有打印出来

winston 发表于 2010-9-27 00:23:22

可能是因为DLL是分离的,所以需要另外的设置

poptang 发表于 2010-9-27 10:21:52

那有什么解决办法呢?

modern 发表于 2010-9-27 16:44:43

可能是因为DLL是分离的,所以需要另外的设置
winston 发表于 2010-9-27 00:23 http://www.acejoy.com/bbs/images/common/back.gif没太看懂楼主的几个转折的因果关系!
不过这个日志策略的关键在于使用的全局单件的ACE_Reactor,
因此你自己的dll如果在同一个进程内且用了相同的ACE库,日志被输出出来就很正常了,
另外如果你的代码里替换了全局的Reactor单件,下场会很悲惨。
就是说,如果你使用了ACE的日志策略,记得使用非默认Reactor的时候,
一定不要使用单件。

poptang 发表于 2010-9-28 09:12:51

我的DLL里没用到Reactor,用的是Proactor,所以应该不会有你的问题出现。。。
如果改成SILENT,dll日志也不会打印出来。。。
就是-p参数不起作用,求解啊
页: [1]
查看完整版本: ACE日志策略问题,-p参数不起使用