Files
JiraTimeBot/JiraTimeBotForm/Logger.cs
T

56 lines
1.3 KiB
C#

using System;
using System.ComponentModel;
using System.Windows.Forms;
namespace JiraTimeBotForm
{
public class Logger : ILog
{
private readonly TextBox _txt;
private readonly AppendLog _safeAppender;
public Logger(TextBox txt)
{
_txt = txt;
_safeAppender = text => _txt.AppendText(text);
}
private void AppendText(string message)
{
message = $"{DateTime.Now:HH:mm} {message}";
_txt.Invoke(_safeAppender, message + Environment.NewLine);
}
private delegate void AppendLog(string text);
public void Info([Localizable(false)] string message)
{
AppendText(message);
}
public void Trace([Localizable(false)] string message)
{
AppendText(message);
}
public void Warn([Localizable(false)] string message)
{
AppendText(message);
}
public void Error([Localizable(false)] string message)
{
AppendText(message);
}
}
public interface ILog
{
void Info([Localizable(false)] string message);
void Trace([Localizable(false)] string message);
void Warn([Localizable(false)] string message);
void Error([Localizable(false)] string message);
}
}