jellyfin/MediaBrowser.Common/Logging/StreamLogger.cs
LukePulverenti Luke Pulverenti luke pulverenti b1df61f7ce Added ThreadedLogger
2012-09-10 15:11:40 -04:00

33 lines
809 B
C#

using System;
using System.IO;
using System.Text;
namespace MediaBrowser.Common.Logging
{
/// <summary>
/// Provides a Logger that can write to any Stream
/// </summary>
public class StreamLogger : ThreadedLogger
{
private Stream Stream { get; set; }
public StreamLogger(Stream stream)
: base()
{
Stream = stream;
}
protected override void AsyncLogMessage(LogRow row)
{
byte[] bytes = new UTF8Encoding().GetBytes(row.ToString() + Environment.NewLine);
Stream.Write(bytes, 0, bytes.Length);
Stream.Flush();
}
public override void Dispose()
{
base.Dispose();
Stream.Dispose();
}
}
}