12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- --[[
- 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
- )
|