mirror of
https://github.com/ShareX/ShareX.git
synced 2024-09-30 01:07:21 +13:00
Added few options to Logger
This commit is contained in:
parent
c101742d2c
commit
70f4f13a08
2 changed files with 21 additions and 22 deletions
|
@ -33,12 +33,9 @@ namespace ShareX.HelpersLib
|
|||
{
|
||||
public partial class DebugForm : BaseForm
|
||||
{
|
||||
private Logger logger;
|
||||
|
||||
public DebugForm(Logger logger)
|
||||
{
|
||||
InitializeComponent();
|
||||
this.logger = logger;
|
||||
|
||||
rtbDebug.Text = logger.ToString();
|
||||
rtbDebug.SelectionStart = rtbDebug.TextLength;
|
||||
|
@ -46,11 +43,7 @@ public DebugForm(Logger logger)
|
|||
rtbDebug.AddContextMenu();
|
||||
|
||||
logger.MessageAdded += logger_MessageAdded;
|
||||
}
|
||||
|
||||
private void DebugForm_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
logger.MessageAdded -= logger_MessageAdded;
|
||||
FormClosing += (sender, e) => logger.MessageAdded -= logger_MessageAdded;
|
||||
}
|
||||
|
||||
private void logger_MessageAdded(string message)
|
||||
|
|
|
@ -36,19 +36,22 @@ public class Logger
|
|||
|
||||
public event MessageAddedEventHandler MessageAdded;
|
||||
|
||||
public bool Async { get; set; }
|
||||
public bool Async { get; set; } = true;
|
||||
public bool DebugWrite { get; set; } = true;
|
||||
public bool StoreInMemory { get; set; } = true;
|
||||
public bool FileWrite { get; set; } = false;
|
||||
public string LogFilePath { get; private set; }
|
||||
|
||||
private readonly object loggerLock = new object();
|
||||
private StringBuilder sbMessages = new StringBuilder(4096);
|
||||
private StringBuilder sbMessages = new StringBuilder();
|
||||
|
||||
public Logger()
|
||||
{
|
||||
Async = true;
|
||||
}
|
||||
|
||||
public Logger(string logFilePath) : this()
|
||||
public Logger(string logFilePath)
|
||||
{
|
||||
FileWrite = true;
|
||||
LogFilePath = logFilePath;
|
||||
Helpers.CreateDirectoryIfNotExist(LogFilePath);
|
||||
}
|
||||
|
@ -61,7 +64,7 @@ protected void OnMessageAdded(string message)
|
|||
}
|
||||
}
|
||||
|
||||
public void WriteLine(string message = "")
|
||||
public void WriteLine(string message)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(message))
|
||||
{
|
||||
|
@ -80,25 +83,28 @@ private void WriteLineInternal(string message)
|
|||
{
|
||||
lock (loggerLock)
|
||||
{
|
||||
message = string.Format("{0:yyyy-MM-dd HH:mm:ss.fff} - {1}", DateTime.Now, message);
|
||||
message = $"{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff} - {message}";
|
||||
|
||||
Debug.WriteLine(message);
|
||||
if (DebugWrite)
|
||||
{
|
||||
Debug.WriteLine(message);
|
||||
}
|
||||
|
||||
if (sbMessages != null)
|
||||
if (StoreInMemory && sbMessages != null)
|
||||
{
|
||||
sbMessages.AppendLine(message);
|
||||
}
|
||||
|
||||
try
|
||||
if (FileWrite && !string.IsNullOrEmpty(LogFilePath))
|
||||
{
|
||||
if (!string.IsNullOrEmpty(LogFilePath))
|
||||
try
|
||||
{
|
||||
File.AppendAllText(LogFilePath, message + Environment.NewLine, Encoding.UTF8);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Debug.WriteLine(e);
|
||||
catch (Exception e)
|
||||
{
|
||||
Debug.WriteLine(e);
|
||||
}
|
||||
}
|
||||
|
||||
OnMessageAdded(message);
|
||||
|
|
Loading…
Reference in a new issue