`
阿尔萨斯
  • 浏览: 4200911 次
社区版块
存档分类
最新评论

Nebula2探秘01-创建KernelServer&使用log

 
阅读更多
<iframe align="center" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog336280.html" frameborder="0" width="336" scrolling="no" height="280"></iframe>

Nebula2探秘01-创建KernelServer&使用log

happykevins文

/**//****************************************************************************/
/**//*Nebula2-Tutorial01*/
/**//*创建KernelServer&使用log*/
/**//*author:happykevins*/
/**//****************************************************************************/

/**////----------------------------------------------------------------------------
///+必要头文件

#include"kernel/nkernelserver.h"
#include
"kernel/nloghandler.h"
#include
"kernel/nwin32loghandler.h"
/**////-必要头文件
///----------------------------------------------------------------------------


///----------------------------------------------------------------------------
///+链接库
///
///@wsock32.lib:nRemoteServer(nIpcServer)所需要的库
///nRemoteServer是对KernelServer进程间控制的接口

#pragmacomment(lib,"wsock32.lib")
/**////
///@d_nkernel.lib:nKernel的静态链接库,Debug版本

#pragmacomment(lib,"d_nkernel.lib")
/**////
///-链接库
///----------------------------------------------------------------------------


///----------------------------------------------------------------------------
///+Application

intmain(intargc,constchar**argv)
...{
/**////----------------------------------------------------------------------------
///+初始化KernelServer
///@note:
///1.虽然KernelServer可以作为Singleton全局访问,然而其生命周期还是需要访问者自己控制.
///2.使用者不必使用nNebulaUsePackage(nkernel)和AddPackage来包含添加包,Nebula2的KernelServer已经
///在创建时自动做好了这些事情.
///3.KernelServer在实例化后会在NOH系统中自动添加4个服务nFileServer2,nPersistServer,nRemoteServer
///和nTimeServer.所以这4个服务是使Nebula2的kernel能够顺利运行所必需的.
///以下是四个Server的NOH路径和用途简介:
///nFileServer2:"/sys/servers/file2"--文件服务
///nPersistServer:"/sys/servers/persist"--对象持久化服务
///nRemoteServer:"/sys/servers/remote"--远程控制服务(依赖ScriptServer)
///nTimeServer:"/sys/servers/time"--时间服务
///

nKernelServernkernel;
/**////-初始化KernelServer
///----------------------------------------------------------------------------

///----------------------------------------------------------------------------
///+使用KernelServer的当前日志系统记录日志
///@note:
///1.在Win32环境下可以使用nwin32loghandler来替代KernelServer默认的loghandler
///可以用KernelServer的SetLogHandler来替换.
///

//以下是对默认log系统的使用范例
nkernel.Print("logcommonmsg! ");
n_printf(
"logcommonmsg! ");
nkernel.Message(
"logimportantmsg! ");
n_message(
"logimportantmsg! ");
nkernel.Error(
"logerrormsg! ");
//n_error("logerrormsg! ");//executingthisline,appwillcrash
nkernel.Print(" PressAnyKey...");
#ifdef__WIN32__
//使用win32loghandler替换掉defaultloghandler
nWin32LogHandler*pWin32LogHandler=n_new(nWin32LogHandler("T01"));
nkernel.SetLogHandler(pWin32LogHandler);
//以下是对Win32log系统的使用范例
n_printf("logcommonmsg! ");
n_message(
"logimportantmsg! ");
n_dbgout(
"logdbgmsg!win32only! ");
//n_error("logerrormsg! ");//executingthisline,appwillcrash
#endif
/**////
///-使用KernelServer的当前日志系统记录日志
///----------------------------------------------------------------------------


getchar();
return0;
}

/**////-Application
///----------------------------------------------------------------------------



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics