Ormlite未使用ServiceStack MVC探查器进行分析

时间:2013-02-02 17:22:15

标签: c# servicestack ormlite-servicestack

我的服务堆栈Web服务中有MVC探查器,我看到请求被记录到Nlog。

但是,当我尝试配置我的PostgreSQL数据库时,不会生成任何日志。

我的global.asax.cs:

        var dbConnectionFactory = new OrmLiteConnectionFactory(
            "Server=127.0.0.1;Port=5432;Database=mydatabase;User 
                                          Id=id;Password=password;")

                                      {
                                          ConnectionFilter = x => new 
                                      ProfiledDbConnection(x, Profiler.Current)
                                      };

        builder.RegisterInstance(dbConnectionFactory).
                         ExternallyOwned().As<IDbConnectionFactory>();

         var autofacContainer = builder.Build();
        //set Autofac as default Dependency Resolver for application
        DependencyResolver.SetResolver(new 
                                  AutofacDependencyResolver(autofacContainer));

    protected void Application_BeginRequest()
    {
        if (Request.IsLocal)
        {
            Profiler.Start();
        } 
    }

    protected void Application_EndRequest(object src, EventArgs e)
    {
        if (Profiler.Current != null)
        {
            Logger.Debug("profiling result id:{0}\nresult:{1}", Profiler.Current.Id,Profiler.Current.Render());
        }
        Profiler.Stop();
    }

1 个答案:

答案 0 :(得分:1)

MiniProfiler与日志记录无关,它控制是否在MiniProfiler查看器上显示了配置文件的结果(位于ServiceStack's auto-generated HTML5 Report pages上)。

这里没有显示任何日志代码,(我假设你正在使用ServiceStack.Logging和NLog适配器)。配置它的最佳位置是在初始化AppHost之前,所以所有静态构造函数都使用配置的Logging提供程序,即:

LogManager.LogFactory = new NLogFactory();
(new AppHost()).Init();