Логгер умеет писать вь лог из других потоков
This commit is contained in:
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user