--[[ Author: neo Date: 2021-07-07 19:39:15 LastEditTime: 2021-07-08 09:26:43 LastEditors: Please set LastEditors Description: 按日切分日志 --]] local skynet = require "skynet" require "skynet.manager" local core = require "skynet.core" local logger = nil local loggerDate = nil local function open() loggerDate = os.date("%Y-%m-%d", skynet_time()) local path = skynet.getenv("logpath") local nodeName = skynet.getenv("nodeName") local fileName = string.format("%s%s-%s.log", path, nodeName, loggerDate) logger = skynet.launch("jmlogger", fileName) end local function logging(source, str) local currTime = skynet_time() if not logger then open() end if os.date("%Y-%m-%d", currTime) ~= loggerDate then skynet.kill(logger) open() end local s = string.format("[%s] [%s] %s", os.date("%H:%M:%S", currTime), skynet.address(source), str) if IS_TEST then print(s) end core.send(logger, 0, 0, s) end skynet.register_protocol { name = "text", id = skynet.PTYPE_TEXT, unpack = skynet.tostring, dispatch = function(_, source, msg) logging(source, msg) end } skynet.start( function() end )