Nebula2探秘01-创建KernelServer&使用log
来源:互联网 发布:淘宝免费开店注册不了 编辑:程序博客网 时间:2024/06/06 04:21
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
///----------------------------------------------------------------------------
/**//* 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
///----------------------------------------------------------------------------
- Nebula2探秘01-创建KernelServer&使用log
- Nebula2探秘01-创建KernelServer&使用log
- Nebula2探秘01-创建KernelServer&使用log
- Nebula2探秘01-创建KernelServer&使用log
- Nebula2探秘14-nGuiServer的创建与使用
- Nebula2探秘14-nGuiServer的创建与使用
- Nebula2探秘14-nGuiServer的创建与使用
- Nebula2探秘02-使用FileServer2
- Nebula2探秘02-使用FileServer2
- Nebula2探秘02-使用FileServer2
- Nebula2探秘02-使用FileServer2
- Nebula2探秘05-RTTI
- Nebula2探秘05-RTTI
- Nebula2探秘05-RTTI
- Nebula2探秘07-使用Tcl脚本服务II
- Nebula2探秘06-使用Tcl脚本服务I
- Nebula2探秘07-使用Tcl脚本服务II
- Nebula2探秘06-使用Tcl脚本服务I
- Nebula2探秘05-RTTI
- 随即数引发的问题
- Nebula2探秘04-Time Server研究
- Nebula2探秘03-Object System研究
- Nebula2探秘02-使用FileServer2
- Nebula2探秘01-创建KernelServer&使用log
- Nebula2探秘序章:Nebula2环境配置
- Unraveling Bezier Splines
- 上海之行(2)
- Kevin的DirectInput简明教程
- set ansi_nulls [on/off] 与 set quoted_identifier [on/off]
- J2ME中读取Unicode和UTF-8编码文件
- 关于飞机射击类游戏的设计原理 (加入时间:2001-3-4)
- 开源可视化 Python 性能调优工具 VPT 发布