我想更好地了解ServiceStack.Redis正在做什么。我希望我可以连接一个调试/控制台记录器,它只会将执行的命令输出到该记录器,但我无法找到合适的API。我确实找到了几个使用LogManager.LogFactory = new DebugLogFactory
的引用,但即使这样做,我的调试输出中也没有出现ServiceStack。
我也尝试过使用redis-cli中的MONITOR命令,但是在使用redis的windows端口时似乎存在一些问题,因为它给出了以下错误:(error) ERR unknown command 'monitor'
。
答案 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)