找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 3839|回复: 5

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

[复制链接]
发表于 2010-9-26 14:29:01 | 显示全部楼层 |阅读模式
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的
 楼主| 发表于 2010-9-26 15:07:05 | 显示全部楼层
自己再仔细分析了下,在svc.conf里,我动态加载了两个service,一个是ACE的日志策略,还有一个是我自己定义的dll。。。
如果把我自己的dll定义放到日志策略前,log.log文件里没有任何输出,stderr则全打印
如果把我自己的dll定义放到日志策略后,log.log文件有我的dll的所有日志输出,stderr也全打印。
而日志策略对本身的exe是管用的,debug的日志都没有打印出来
发表于 2010-9-27 00:23:22 | 显示全部楼层
可能是因为DLL是分离的,所以需要另外的设置
 楼主| 发表于 2010-9-27 10:21:52 | 显示全部楼层
那有什么解决办法呢?
发表于 2010-9-27 16:44:43 | 显示全部楼层
可能是因为DLL是分离的,所以需要另外的设置
winston 发表于 2010-9-27 00:23
没太看懂楼主的几个转折的因果关系!
不过这个日志策略的关键在于使用的全局单件的ACE_Reactor,
因此你自己的dll如果在同一个进程内且用了相同的ACE库,日志被输出出来就很正常了,
另外如果你的代码里替换了全局的Reactor单件,下场会很悲惨。
就是说,如果你使用了ACE的日志策略,记得使用非默认Reactor的时候,
一定不要使用单件。
 楼主| 发表于 2010-9-28 09:12:51 | 显示全部楼层
我的DLL里没用到Reactor,用的是Proactor,所以应该不会有你的问题出现。。。
如果改成SILENT,dll日志也不会打印出来。。。
就是-p参数不起作用,求解啊
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-5-20 00:32 , Processed in 0.014195 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表