소스 검색

more service stack logging

Luke Pulverenti 12 년 전
부모
커밋
dabf257778
1개의 변경된 파일36개의 추가작업 그리고 36개의 파일을 삭제
  1. 36 36
      MediaBrowser.Server.Implementations/HttpServer/HttpServer.cs

+ 36 - 36
MediaBrowser.Server.Implementations/HttpServer/HttpServer.cs

@@ -105,6 +105,8 @@ namespace MediaBrowser.Server.Implementations.HttpServer
             DefaultRedirectPath = defaultRedirectpath;
             _logger = logger;
 
+            ServiceStack.Logging.LogManager.LogFactory = new NLogFactory();
+            
             EndpointHostConfig.Instance.ServiceStackHandlerFactoryPath = null;
             EndpointHostConfig.Instance.MetadataRedirectPath = "metadata";
 
@@ -136,58 +138,56 @@ namespace MediaBrowser.Server.Implementations.HttpServer
             Plugins.Add(new SwaggerFeature());
             Plugins.Add(new CorsFeature());
 
-            ServiceStack.Logging.LogManager.LogFactory = new NLogFactory();
-
             ResponseFilters.Add((req, res, dto) =>
+            {
+                var exception = dto as Exception;
+
+                if (exception != null)
                 {
-                    var exception = dto as Exception;
+                    _logger.ErrorException("Error processing request for {0}", exception, req.RawUrl);
 
-                    if (exception != null)
+                    if (!string.IsNullOrEmpty(exception.Message))
                     {
-                        _logger.ErrorException("Error processing request for {0}", exception, req.RawUrl);
-
-                        if (!string.IsNullOrEmpty(exception.Message))
-                        {
-                            var error = exception.Message.Replace(Environment.NewLine, " ");
-                            error = RemoveControlCharacters(error);
+                        var error = exception.Message.Replace(Environment.NewLine, " ");
+                        error = RemoveControlCharacters(error);
 
-                            res.AddHeader("X-Application-Error-Code", error);
-                        }
+                        res.AddHeader("X-Application-Error-Code", error);
                     }
+                }
 
-                    if (dto is CompressedResult)
-                    {
-                        // Per Google PageSpeed
-                        // This instructs the proxies to cache two versions of the resource: one compressed, and one uncompressed. 
-                        // The correct version of the resource is delivered based on the client request header. 
-                        // This is a good choice for applications that are singly homed and depend on public proxies for user locality.                        
-                        res.AddHeader("Vary", "Accept-Encoding");
-                    }
+                if (dto is CompressedResult)
+                {
+                    // Per Google PageSpeed
+                    // This instructs the proxies to cache two versions of the resource: one compressed, and one uncompressed. 
+                    // The correct version of the resource is delivered based on the client request header. 
+                    // This is a good choice for applications that are singly homed and depend on public proxies for user locality.                        
+                    res.AddHeader("Vary", "Accept-Encoding");
+                }
 
-                    var hasOptions = dto as IHasOptions;
+                var hasOptions = dto as IHasOptions;
 
-                    if (hasOptions != null)
+                if (hasOptions != null)
+                {
+                    // Content length has to be explicitly set on on HttpListenerResponse or it won't be happy
+                    string contentLength;
+
+                    if (hasOptions.Options.TryGetValue("Content-Length", out contentLength) && !string.IsNullOrEmpty(contentLength))
                     {
-                        // Content length has to be explicitly set on on HttpListenerResponse or it won't be happy
-                        string contentLength;
+                        var length = long.Parse(contentLength, UsCulture);
 
-                        if (hasOptions.Options.TryGetValue("Content-Length", out contentLength) && !string.IsNullOrEmpty(contentLength))
+                        if (length > 0)
                         {
-                            var length = long.Parse(contentLength, UsCulture);
-
-                            if (length > 0)
-                            {
-                                var response = (HttpListenerResponse) res.OriginalResponse;
+                            var response = (HttpListenerResponse)res.OriginalResponse;
 
-                                response.ContentLength64 = length;
+                            response.ContentLength64 = length;
 
-                                // Disable chunked encoding. Technically this is only needed when using Content-Range, but
-                                // anytime we know the content length there's no need for it
-                                response.SendChunked = false;
-                            }
+                            // Disable chunked encoding. Technically this is only needed when using Content-Range, but
+                            // anytime we know the content length there's no need for it
+                            response.SendChunked = false;
                         }
                     }
-                });
+                }
+            });
         }
 
         /// <summary>