local code = require "code" local lib_logger = require("log.lib_logger") local logClient = lib_logger:new("client-event") local logClient2 = lib_logger:new("client-event2") local root = {} function root.log_event(msg) local currTime = skynet_time() local date = os.date("%Y-%m-%d", currTime) local timeStr = os.date("%Y-%m-%d %H:%M:%S", currTime) local uuid = msg.uuid or "" local udid = msg.udid or "" for k, v in ipairs(msg.events) do v.label = string.gsub( v.label or "", ".", function(c) if c == "\\" or c == "\n" or c == "\r" or c == "'" or c == '"' then return "*" end return c end ) -- 以下为需要字段 按需求命名字段名,对应需要表 local cTime = os.date("%Y-%m-%d %H:%M:%S", v.time) local uid = v.uid or msg.uid or 0 local version = v.ver or msg.ver or "nil" local channel = v.chn or msg.chn or 0 local id = v.id or 0 local ui = string.format("%s,%s", tostring(v.seq or ""), tostring(v.scene or "")) local datas = {date, timeStr, cTime, uid, version, channel, id, ui, uuid, udid, v.label or ""} local cnt = table.concat(datas, ";") logClient:raw(cnt) end return code.OK end -- 客户端主动发送的请求 function root.log_event_count(msg) local currTime = skynet_time() local date = os.date("%Y-%m-%d", currTime) local timeStr = os.date("%Y-%m-%d %H:%M:%S", currTime) for k, v in ipairs(msg.events) do local uid = v.uid or msg.uid local ver = v.ver or msg.ver local chn = v.chn or msg.chn local cnt = string.format( "%s;%s;%s;%s;%s;%s;%s;%s;%s;", date, timeStr, uid or 0, ver or "nil", chn or 0, v.id or 0, v.count or 0, os.date("%Y-%m-%d %H:%M:%S", v.beginTime), os.date("%Y-%m-%d %H:%M:%S", v.endTime) ) logClient2:raw(cnt) end return code.OK end return root