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

2007-05-12     推荐:90692273    收藏:58682303    评论:1     来源:e800开发者频道

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

happykevins文

/****************************************************************************/
/* Nebula2 - Tutorial 01 */
/* 创建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” --时间服务
///

nKernelServer nkernel;
/// -初始化KernelServer
///----------------------------------------------------------------------------

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

// 以下是对默认log系统的使用范例
nkernel.Print(log common msg! );
n_printf(
log common msg! );
nkernel.Message(
log important msg! );
n_message(
log important msg! );
nkernel.Error(
log error msg! );
//n_error(”log error msg! ”); // executing this line, app will crash
nkernel.Print( Press Any Key...);
#ifdef __WIN32__
// 使用win32loghandler替换掉defaultloghandler
nWin32LogHandler* pWin32LogHandler = n_new(nWin32LogHandler(T01));
nkernel.SetLogHandler(pWin32LogHandler);
// 以下是对Win32 log系统的使用范例
n_printf(log common msg! );
n_message(
log important msg! );
n_dbgout(
log dbg msg! win32 only! );
//n_error(”log error msg! ”); // executing this line, app will crash
#endif
///
/// -使用KernelServer的当前日志系统记录日志
///----------------------------------------------------------------------------


getchar();
return 0;
}

/// -Application
///----------------------------------------------------------------------------

您可以针对本文进行:[评论]  [收藏]  [推荐]   [查看原文链接]  
  • [1楼] 2007-10-04 23:01:44.0  网友
  • [回复]
  • cklbdz snaucf xamuok bcnikl azsu nfzidvcq pqycd
  • 共有1条评论  点击查看更多评论
  • 网友评论仅供网友表达个人看法,并不表明e800同意其观点或证实其描述
我想发表评论:
用户名密码
  • 匿名发表
    验证码: