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

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进程间控制的接口

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

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


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

int main( int argc, const char ** 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
///----------------------------------------------------------------------------

你可能感兴趣的:(server)