如何在ServiceStack.Redis中查看已执行的redis命令?

时间:2014-05-27 03:22:57

标签: logging redis servicestack servicestack.redis

我想更好地了解ServiceStack.Redis正在做什么。我希望我可以连接一个调试/控制台记录器,它只会将执行的命令输出到该记录器,但我无法找到合适的API。我确实找到了几个使用LogManager.LogFactory = new DebugLogFactory的引用,但即使这样做,我的调试输出中也没有出现ServiceStack。

我也尝试过使用redis-cli中的MONITOR命令,但是在使用redis的windows端口时似乎存在一些问题,因为它给出了以下错误:(error) ERR unknown command 'monitor'

3 个答案:

答案 0 :(得分:1)

您运行的是哪个版本的MSOpenTech Redis?我抓住2.8.9,监控工作正常。

另外,如果您对ServiceStack如何实现特定命令感兴趣,那么浏览source可能是值得的。在低级别上,ServiceStack具有byte client,以1:1的方式实现Redis命令。各种客户端和键入的客户端都是基于此构建的。 For reference

答案 1 :(得分:1)

我能够让ServiceStack通过调用LogManager.LogFactory = new DebugLogFactory(debugEnabled:true)来输出正在执行的redis命令,其中DebugLogFactory不是ServiceStack提供的内置版本,而是来自工厂和相关记录器的副本here。此步骤是必要的,因为ServiceStack的发布版本(即您可以在NuGet上获得的内容)不会发出调试信息。

答案 2 :(得分:0)