Open hanxi opened 3 years ago
本文主要演示如何给 skynet 设置一个自定义的日志服务,并添加一些额外的功能。
首先参考示例 examples/userlog.lua ,使用 skynet.register_protocol 注册 skynet.PTYPE_TEXT 文本消息,用于输出日志。注册 skynet.PTYPE_SYSTEM 系统消息,用于接收系统信号。
examples/userlog.lua
skynet.register_protocol
skynet.PTYPE_TEXT
skynet.PTYPE_SYSTEM
代码位置 lualib/log.lua ,这里逻辑比较简单,就是根据配置的日志等级和接口对比,决定是否输出日志,分为 debug, info , warn , error 四个等级。其中 error 增加了调用堆栈输出,方便排查错误。
lualib/log.lua
debug
info
warn
error
skynet.timeout
修改 examples/config.userlog 配置文件。
examples/config.userlog
service/log.lua
log
snlua
本文主要演示如何给 skynet 设置一个自定义的日志服务,并添加一些额外的功能。
参考示例
首先参考示例
examples/userlog.lua
,使用skynet.register_protocol
注册skynet.PTYPE_TEXT
文本消息,用于输出日志。注册skynet.PTYPE_SYSTEM
系统消息,用于接收系统信号。实现日志等级功能
代码位置
lualib/log.lua
,这里逻辑比较简单,就是根据配置的日志等级和接口对比,决定是否输出日志,分为debug
,info
,warn
,error
四个等级。其中error
增加了调用堆栈输出,方便排查错误。实现日志服务
skynet.timeout
接口设置循环定时器,每天把日志文件备份处理。配置
修改
examples/config.userlog
配置文件。service/log.lua
所以这里只配置log
即可。snlua
其他