0

我想更好地了解 ServiceStack.Redis 在幕后所做的事情。我希望我可以连接一个调试/控制台记录器,它只会将执行的命令输出到该记录器,但我无法找到合适的 API。我确实找到了几个使用的参考,LogManager.LogFactory = new DebugLogFactory但即使在这样做之后,ServiceStack 中的任何内容都不会出现在我的调试输出中。

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

4

3 回答 3

1

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

于 2014-05-29T01:32:03.223 回答
1

您正在运行哪个版本的 MSOpenTech Redis?我刚刚抓住了2.8.9,并且监控正在工作。

附带说明一下,如果您对 ServiceStack 如何实现特定命令感兴趣,可能值得浏览一下源代码。在底层,ServiceStack 有一个字节客户端,它以 1:1 的方式实现 Redis 命令。各种客户端和类型化客户端都建立在此之上。 以供参考

于 2014-05-27T15:22:41.373 回答