From 7c677e0ee6e9e8b7816a7dae9cbf1c55502c3599 Mon Sep 17 00:00:00 2001 From: LukePulverenti Date: Mon, 11 Mar 2013 00:04:08 -0400 Subject: better streaming logging --- .../HttpServer/StreamWriter.cs | 23 ++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'MediaBrowser.Server.Implementations/HttpServer/StreamWriter.cs') diff --git a/MediaBrowser.Server.Implementations/HttpServer/StreamWriter.cs b/MediaBrowser.Server.Implementations/HttpServer/StreamWriter.cs index ab178b6ea..6f5d6e25f 100644 --- a/MediaBrowser.Server.Implementations/HttpServer/StreamWriter.cs +++ b/MediaBrowser.Server.Implementations/HttpServer/StreamWriter.cs @@ -1,4 +1,6 @@ -using ServiceStack.Service; +using MediaBrowser.Model.Logging; +using ServiceStack.Service; +using System; using System.IO; using System.Threading.Tasks; @@ -9,6 +11,8 @@ namespace MediaBrowser.Server.Implementations.HttpServer /// public class StreamWriter : IStreamWriter { + private ILogger Logger { get; set; } + /// /// Gets or sets the source stream. /// @@ -19,9 +23,11 @@ namespace MediaBrowser.Server.Implementations.HttpServer /// Initializes a new instance of the class. /// /// The source. - public StreamWriter(Stream source) + /// The logger. + public StreamWriter(Stream source, ILogger logger) { SourceStream = source; + Logger = logger; } /// @@ -42,9 +48,18 @@ namespace MediaBrowser.Server.Implementations.HttpServer /// Task. private async Task WriteToAsync(Stream responseStream) { - using (var src = SourceStream) + try { - await src.CopyToAsync(responseStream).ConfigureAwait(false); + using (var src = SourceStream) + { + await src.CopyToAsync(responseStream).ConfigureAwait(false); + } + } + catch (Exception ex) + { + Logger.ErrorException("Error streaming media", ex); + + throw; } } } -- cgit v1.2.3