RedisRequestLogger 不工作

RedisRequestLogger not working

我已将 RequestLogger 添加到我的服务代码中以启用日志记录。效果很好

    Plugins.Add(new RequestLogsFeature());

现在我用 RedisRequestLogger 替换了它。现在日志记录不起作用。 我不确定 RedisRequestLogger 不工作我做错了什么

          Plugins.Add(new RequestLogsFeature
        {
            RequestLogger = new RedisRequestLogger(
                container.Resolve<IRedisClientsManager>(), capacity: 1000)
        });

RedisRequestLogger需要配置IRedisClientsManager,例如:

container.Register<IRedisClientsManager>(c => 
    new RedisManagerPool(redisConnectionString));

其中 redisConnectionStringRedis connection string 到可访问的主机 redis-server

注册一次 RequestLogsFeature 插件后即可使用,即:

Plugins.Add(new RequestLogsFeature {
    RequestLogger = new RedisRequestLogger(
        container.Resolve<IRedisClientsManager>(), capacity: 1000)
});

如果您在 /requestlogs 上没有看到任何请求记录,请检查 ?debug=requestinfo 是否有任何启动错误。如果没有任何使用 redis-cli.exe 连接到上面配置的同一个 Redis Master(来自托管 Web 应用程序的同一服务器)并检查它是否连接和如果已创建并填充 log:requests 有序集。

这个问题是由于我在代码中使用的 snake case 我将以下 JsConfig.PropertyConvention = PropertyConvention.Lenient; 添加到 AppHost.cs 并且有效