ICE的日志和统计接口

原创 2012年03月30日 22:12:06
1、获取日志对象:
   virtual LoggerPtr getLogger() const;
2、日志对象提供的方法:
   local interface Logger
   {
        void print(string message);
        void trace(string category, string message);
        void warning(string message);
        void error(string message);
        Logger cloneWithPrefix(string prefix);
    };
3、communicator提供的默认日志接口是打屏的,可以通过如下方法定制日志接口:
   Ice::InitializationData id;
   id.logger = new MyLoggerI();
   Ice::Communicator ic = Ice::Initiliaze(argc, argv, id);
4、也可以通过插件设置日志
   class MyLoggerI : public Ice::Logger
   {
   public:
        void print(string message);
        void trace(string category, string message);
        void warning(string message);
        void error(string message);
        Logger cloneWithPrefix(string prefix);
   };
   extern "C"
   {
   ICE_DECLSPEC_EXPORT Ice::Plugin* createLogger(const Ice::Communicator& ic, const std::string& name, 
                                                 const Ice::StringSeq& args)
{
   Ice::LoggerPtr logger = new MyLoggerI();
return new Ice::LoggerPlugin(ic, logger);
}
   }
   编译成动态库libmylogger.so
   配置属性:Ice.Plugin.MyLogger = mylogger::createLogger
4、ICE提供了一系列的工具类来处理日志:Ice::Error、Ice::Warning、Ice::Trace、Ice::Print
    Ice::Error err(communicator->getLogger());
err<<"This is error "<<myErrorString;
5、ICE提供了统计接口用来统计网络流量,具体的接口使用如下:
   local interface stats
   {
        void bytesSent(std::string& protocol, Ice::Int num);
void bytesReceived(std::string& protocol, Ice::Int num);
    };  
   Ice::InitializationData id;
   id.stats = new MyStatsI();
   Ice::Communicator ic = Ice::Initiliaze(argc, argv, id);
   

相关文章推荐

ICE的异步动态调用

1、ICE除了提供同步的动态调用,还提供了异步的动态调用:    Ice::AsyncResultPtr begin_ice_invoke(const std::string& operation,...

ICE的输入流和输出流

1、ICE提供流式接口InputStream来进行对象的解码操作,通过如下方法构造一个输入流对象:    InputStreamPtr createInputStream(const Ice::Co...

vs2008写ICE接口小程序

介绍一下编写简单的ice文件,并完成服务端、客户端的简单流程(这里使用的是vs2008开发环境) 1. 安装ice程序 2. 配置环境变量:对于windows xp系统,操作为:打开我的电脑\属性...

Common Logging日志接口

  • 2012年09月03日 14:15
  • 7.22MB
  • 下载

HDU:2120 Ice_cream's world I(并查集+统计环的个数)

Ice_cream's world I Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth...
  • zugofn
  • zugofn
  • 2016年08月01日 20:42
  • 233

PHP PSR-3 日志接口规范 (中文版)

日志接口规范 本文制定了日志类库的通用接口规范。 本规范的主要目的,是为了让日志类库以简单通用的方式,通过接收一个 Psr\Log\LoggerInterface 对象,来记录日志信息。 ...

PHP-FIG 定义的 PSR-3 日志接口规范

主要目标是让广大PHP项目可以简单并且统一的依赖 Psr\Log\LoggerInterface 接口的对象来写日志。框架和CMS们可以根据自己的需要扩展这个接口,但 应该要保持对本文档的兼容。这样可...

C++简单的打印日志接口

#ifndef _LOG_H #define _LOG_H #include #include #include typedef enum LOG_LEVEL { LOG...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ICE的日志和统计接口
举报原因:
原因补充:

(最多只允许输入30个字)