1

我使用以事件日志为目标的服务堆栈的内置 LogManager。我也使用内置的 FluentValidation。

两者都工作得很好。但是当发生验证错误时,不会创建任何日志条目。

任何提示我如何记录任何已注册的 fluentvalidation 验证器的验证错误?

正常日志正在工作(如配置方法底部的日志)

这是我的配置方法

public override void Configure(Funq.Container container)
        {
            //Set JSON web services to return idiomatic JSON camelCase properties
            ServiceStack.Text.JsConfig.EmitCamelCaseNames = true;

            //Configure User Defined REST Paths
            Routes
              .Add<ProcessKilnPushRequest>("/kiln/commit");

            Plugins.Add(new ValidationFeature());

            container.RegisterValidators(typeof(KilnCommitService).Assembly);

            //Set MVC to use the same Funq IOC as ServiceStack
            ControllerBuilder.Current.SetControllerFactory(new FunqControllerFactory(container));


            LogManager.LogFactory = new EventLogFactory("QAServer.Logging", "KilnListener");

            var logger = LogManager.GetLogger(GetType());

            logger.Info("AppHost up and running");
        }
4

1 回答 1

0

大多数情况下,日志是在静态构造函数中检索和初始化的,因此为了确保所有组件都检索到配置的记录器,您应该在初始化 AppHost 之前设置它,例如在 Global.asax.cs 中:

LogManager.LogFactory = new EventLogFactory("QAServer.Logging", "KilnListener");
new AppHost().Init()
于 2013-06-22T18:47:00.957 回答