lua实现详细日志记录

find .|xargs grep -ri "IBM"

--[[
logger
--]]


local _M = {}
local mt = { __index = _M }


local random = require("resty.random")
local str = require("resty.string")
local time = require("time")
local cjson = require("cjson")
 
local startTime = os.date("%H:%M:%S")


local function trim(s)
return string.gsub(s, "^%s*(.-)%s*$", "%1")
end


--[[
用分隔符切分字符串


@param pString 要切分的字符串
@param pPattern 分隔符

@return 返回一个table 里面存有切分后的字符串
--]]


local function split(str, delimiter)


    local fields = {}
    str:gsub(string.format("([^%s]*)%s?", delimiter, delimiter), function(c) table.insert(fields, c) end)


if fields[#fields] == "" then
fields[#fields] = nil
end


    return fields
end


--[[
将一个lua变量转换为字符串
可以让你更加清楚的看到这个变量里面到底存了什么内容


@param value 要转换成字符串的变量


@return 变量内容的字符串形式
--]]


local function to_str(value)
local str = ''


if type(value) ~= 'table' then
if type(value) == 'string' then
str = string.format("%q", value)
else
str = tostring(value)
end
else
local auxTable = {}


for key in pairs(value) do
if tonumber(key) ~= key then
table.insert(auxTable, key)
else
table.insert(auxTable, to_str(key))
end
end


table.sort(auxTable)


str = str .. '{'


local separator = ""
local entry = ""


for _, fieldName in ipairs(auxTable) do
if tonumber(fieldName) and tonumber(fieldName) > 0 then
entry = to_str(

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值