您的位置:首页 > 其它

ACE日志系统之本机日志系统的多文件实现

2012-07-23 14:48 232 查看
在文章<<ACE日志系统之C/S模式配置文件详解>>(/article/9820281.html)中讲到C/S模式能支持日志文件的多文件化, ACE能不能仿造C/S模式实现本机日志的多文件化呢? 通过测试验证,是可行的! 测试程序代码如下:

#include "ace/Logging_Strategy.h"
#include "ace/argv.h"
#include "ace/Reactor.h"
#include "ace/Task.h"

class CMyTask : public ACE_Task<ACE_NULL_SYNCH>
{
public:
void start()
{
activate();
}

int svc()
{
for (int i = 0; i < 10000; i++)
{
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("测试日志:%d\n"), i));
Sleep(1000);
}

return 0;
}
};

int main(int argc, char* argv[])
{
//日志策略类 通过定时器实时检查日志文件大小 以实现分割日志
ACE_Logging_Strategy logStrategy;
logStrategy.log_msg(ACE_LOG_MSG);

//ACE_ARGV如下的构造函数参数为server.conf的日志策略参数 详见server.conf说明
ACE_ARGV logArg("-s d:/log.txt -f STDERR|OSTREAM|VERBOSE -i 1 -m 1 -N 10");
logStrategy.init(logArg.argc(), logArg.argv());

//模拟日志输出
CMyTask myTask;
myTask.start();

//由于用到了定时器反应器 所以...
ACE_Reactor::instance ()->run_reactor_event_loop ();

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐