diff options
| author | LukePulverenti <luke.pulverenti@gmail.com> | 2013-03-11 00:04:08 -0400 |
|---|---|---|
| committer | LukePulverenti <luke.pulverenti@gmail.com> | 2013-03-11 00:04:08 -0400 |
| commit | 7c677e0ee6e9e8b7816a7dae9cbf1c55502c3599 (patch) | |
| tree | 5136bad344bda79347c0b086bbe8969388e0ad8b /MediaBrowser.Server.Implementations/HttpServer/StreamWriter.cs | |
| parent | de755c4b9363134d7df144387e6394578a0db12b (diff) | |
better streaming logging
Diffstat (limited to 'MediaBrowser.Server.Implementations/HttpServer/StreamWriter.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/HttpServer/StreamWriter.cs | 23 |
1 files changed, 19 insertions, 4 deletions
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 /// </summary> public class StreamWriter : IStreamWriter { + private ILogger Logger { get; set; } + /// <summary> /// Gets or sets the source stream. /// </summary> @@ -19,9 +23,11 @@ namespace MediaBrowser.Server.Implementations.HttpServer /// Initializes a new instance of the <see cref="StreamWriter" /> class. /// </summary> /// <param name="source">The source.</param> - public StreamWriter(Stream source) + /// <param name="logger">The logger.</param> + public StreamWriter(Stream source, ILogger logger) { SourceStream = source; + Logger = logger; } /// <summary> @@ -42,9 +48,18 @@ namespace MediaBrowser.Server.Implementations.HttpServer /// <returns>Task.</returns> 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; } } } |
