分享个log,可以打印各种类型,包括嵌套table
cc.exports.cwblog = function(...)
if config.debug==1 then
local text = ""
local xn = 0
local function textLineT(xn)
-- body
for i=1,xn do
text = text.."\t"
end
end
local function printTable(i,v)
-- body
if type(v) == "table" then
textLineT(xn)
xn = xn + 1
text = text..""..i..":Table{\n"
table.foreach(v,printTable)
textLineT(xn)
text = text.."}\n"
xn = xn - 1
elseif type(v) == nil then
textLineT(xn)
text = text..i..":nil\n"
else
textLineT(xn)
text = text..i..":"..tostring(v).."\n"
end
end
local function dumpParam(tab)
for i=1, #tab do
if tab[i] == nil then
text = text.."nil\t"
elseif type(tab[i]) == "table" then
xn = xn + 1
text = text.."\ntable{\n"
table.foreach(tab[i],printTable)
text = text.."\t}\n"
else
text = text..tostring(tab[i]).."\t"
end
end
end
local x = ...
if type(x) == "table" then
table.foreach(x,printTable)
else
dumpParam({...})
end
print(text)
end
end
分享到:
相关推荐
总的来说,`lua-log`是一个强大而灵活的Lua异步日志库,它提供了一套完整的日志记录解决方案,包括各种日志级别、异步处理、格式化输出、多线程支持以及自定义处理器等功能。无论你是新手还是经验丰富的开发者,`lua...
5. 日志处理:通过Lua自定义日志格式,实现更精细化的日志记录和分析。 六、Nginx Lua性能优化 由于Lua脚本是在Nginx内部运行的,所以其性能直接影响到Nginx的整体性能。优化要点包括: - 减少Lua脚本的I/O操作,尽...
通过content_by_lua生成自定义错误页面。 五、进阶主题 5.1 OpenResty生态 OpenResty是基于Nginx和lua-nginx-module的高性能Web平台,提供了更完整的Lua扩展库和工具集,如lua-nginx-memcached-module、lua-resty-...
6. **日志记录与分析**:使用Lua自定义日志格式,或者对日志数据进行实时分析。 ```lua local log_data = string.format("%s - %s %s", ngx.var.remote_addr, ngx.var.request_time, ngx.var.args) ngx.log(ngx....
Nginx与Lua结合,通过Nginx的HttpLuaModule模块,可以实现在Nginx内部执行Lua脚本,扩展Nginx的功能,例如动态配置、流量控制、日志处理和自定义业务逻辑等。 描述中提到的链接指向了一篇CSDN博客文章,详细介绍了...
在 "将请求url以动态方式获取" 的场景下,Nginx 可以通过 Lua 脚本解析 URL,动态地决定如何处理请求,例如根据 URL 参数分发请求到不同的应用实例,或者执行自定义的业务逻辑。 Lua 是一种轻量级的脚本语言,语法...
这允许开发者轻松地加载自定义的 Lua 库或第三方库。 - **init_by_lua / init_by_lua_file / init_worker_by_lua / init_worker_by_lua_file:** - 这些指令允许在 Nginx 启动时执行 Lua 代码。`init_by_lua` 和 `...
`log_by_lua`可在日志记录阶段执行,允许自定义日志格式和内容。 此外,`init_by_lua*`系列指令在Nginx工作进程启动时执行,常用于全局变量的初始化和配置。`init_worker_by_lua*`则在每个工作进程启动时运行,适合...
非session API则涉及更多与系统管理相关的操作,如freeswitch bridge用于桥接通话,freeswitch consoleLog用于控制台日志记录等。 2. 方法的具体使用说明:每个方法下面通常会提供该方法的语法(Syntax)、参数...
在太阳神三国杀这款游戏中,lua DIY 允许玩家自定义游戏体验,其中包括添加提示音。这涉及到对游戏源代码的修改和理解,以便在游戏中实现特定功能。在本章内容中,我们将深入探讨如何通过lua语言来添加代码注释、...
虽然尚未实现,但该界面将可自定义以根据用户的喜好调整输出:换行符,字符串样式等。 正在安装 npm install lua-fmt 用法 API import { formatText } from 'lua-fmt' ; console . log ( formatText ( 'local ...
名称 lua-resty-cookie-该库解析Nginx的HTTP Cookie头,并返回cookie中的每个字段。 目录 地位 该库已准备就绪。 概要 lua_package_path " /path/to/lua-resty-cookie/lib/?... ngx.log(ngx.ERR, err)
7. **错误处理与日志记录**:在 Lua 脚本中,可以使用 ngx.log 函数记录错误信息和调试日志,便于问题排查。同时,了解如何优雅地处理 Lua 错误至关重要,以防止服务中断。 8. **最佳实践**:使用 ngx_lua 开发时,...
- **System.log(str)**:用于打印日志或调试信息,参数为待输出的字符串。 - **System.isKeyDown(EInputKey)**:判断指定的键是否处于按下状态,返回布尔值。 - **System.isASCII(char)**:检查字符是否属于ASCII码...
3. 在 Kong 的配置文件(通常是 "kong.conf")中,添加插件路径到 "custom_plugins" 配置项,确保 Kong 能识别这个自定义插件。 4. 安装插件到 Kong 数据库,可以通过 Kong 的命令行工具执行 `kong migrations ...
`conf` 文件通常包含 Nginx 的配置信息,可能包含 Lua 脚本块,这些脚本可以帮助我们处理各种自定义逻辑,例如用户认证、URL 转发、缓存控制等。在实际使用时,我们需要将这些代码嵌入到 Nginx 的配置文件中,并通过...
这可以通过在Lua脚本中注入自定义的log_by_lua_block或access_by_lua_block来实现。例如,我们可以使用`ngx.now()`获取当前时间戳,然后在请求结束时再次获取时间戳,计算出处理耗时。 对于多个虚拟主机的性能数据...
ngx.log(ngx.ERR, "http request failed: ", err) end ``` **应用场景:** 1. **API 调用:** 在 Nginx 中直接调用外部 RESTful API,进行数据交互。 2. **微服务通信:** 作为服务间通信的客户端,实现服务网格...
Lua脚本(other_limiturl.lua)可以根据需求进行编写,可以实现类似限制访问次数的功能,或者执行其他自定义逻辑。 总结起来,通过在Nginx中使用Lua脚本,我们可以实现更精细的流量控制、动态内容处理和自定义逻辑...