文章目录
概述
日志模块主要用于格式化输出程序日志,方便后续从日志中定位程序运行过程中出现的问题。当然日志除了日志内容本身之外,还应该包括文件名、行号、时间戳、线程、协程号、日志级别等信息。在输出错误日志时,还应附加程序的函数调用栈信息,便于后续分析和排查问题。
日志系统一般分为 5 个等级:
- DEBUG :调试用的日志,线上运行时屏蔽不输出
- INFO :普通日志,线上运行时输出,流程的关键步骤都需要有 INFO 日志
- WARN :数据异常,但不影响正常流程的时候输出
- ERROR :数据异常,且需要人工处理的时候输出
- FATAL :致命错误, 将会导致应用程序的退出。
基本配置
-- config
logger = "./skynet.log" --日志输出的目录文件
logservice = "logger" --默认为 “logger” 如果配置 "snlua "可使用Lua定制日志服务
使用Lua定制日志服务
注 : 修改自 Veinin/skynet-logger
-- config
logger = "logger" --日志输出的目录文件
logservice = "snlua" --默认为 “logger” 如果配置 "snlua "可使用Lua定制日志服务
logpath = "./log/" --日志存放的目录路径
loggroup = "test" -- 日志文件分组名
-- lualib/log.lua
local skynet = require "skynet"
local log = {
}
local LOG_LEVEL = {
DEBUG = 1,
INFO = 2,
WARN = 3,
ERROR = 4,
FATAL = 5
}
local OUT_PUT_LEVEL = LOG_LEVEL.DEBUG
local LOG_LEVEL_DESC = {
[1] = "DEBUG",
[2] = "INFO",
[3] = "WARN",
[4] = "ERROR",
[5] = "FATAL",
}
local function format(fmt, ...)
local ok, str = pcall(string.format, fmt, ...)
if ok then
return str
else
return "error format : " .. fmt
end
end
local function send_log(level, ...)

本文介绍了如何使用Lua定制Skynet的日志服务,包括基本配置和使用Lua脚本自定义日志级别、输出格式以及文件管理。
最低0.47元/天 解锁文章
1457

被折叠的 条评论
为什么被折叠?



