Логгер умеет писать вь лог из других потоков

This commit is contained in:
Alex Tri
2019-03-14 12:17:50 +03:00
parent 0c8123fab4
commit 234871ceb0
+6 -8
View File
@@ -7,25 +7,23 @@ namespace JiraTimeBotForm
public class Logger : ILog public class Logger : ILog
{ {
private readonly TextBox _txt; private readonly TextBox _txt;
private readonly AppendLog _safeAppender;
public Logger(TextBox txt) public Logger(TextBox txt)
{ {
_txt = txt; _txt = txt;
_safeAppender = text => _txt.AppendText(text);
} }
private void AppendText(string message) private void AppendText(string message)
{ {
message = $"{DateTime.Now:HH:mm} {message}"; message = $"{DateTime.Now:HH:mm} {message}";
_txt.Invoke(_safeAppender, message + Environment.NewLine);
if (string.IsNullOrEmpty(_txt.Text))
{
_txt.Text = message;
return;
}
_txt.Text += Environment.NewLine + message;
} }
private delegate void AppendLog(string text);
public void Info([Localizable(false)] string message) public void Info([Localizable(false)] string message)
{ {
AppendText(message); AppendText(message);