我正在为我的Redis DB编写一个简单的Lua脚本,我想使用条件记录,我使用的beacouse日志包含一些字符串连接,如果不是绝对需要,我想为Redis提供额外的计算。我没有在Redis Lua脚本文档中找到任何内容,这可以帮助我解决这个问题。
是否有人知道如何在Redis Lua脚本中获取当前日志级别?
答案 0 :(得分:2)
这是可能的,但不是非常方便。
您可以使用“config get loglevel”redis命令从脚本中获取参数的值。
例如:
EVAL "local tracelvl={debug=0,verbose=1,notice=2,warning=3};
local trace=tracelvl[redis.call('config','get','loglevel')[2]];
...
if trace>=redis.LOG_NOTICE then redis.log(redis.LOG_NOTICE,'hi there'); end ;
...
if trace>=redis.LOG_WARNING then redis.log(redis.LOG_WARNING,'more important stuff'); end ;
" 0
如果你有一个包含大量痕迹的大型脚本,它可能很有用(但是使用Redis的大型脚本是个好主意吗?我不这么认为。)
如果您只有一条跟踪,额外redis.call的成本可能会高于字符串连接。