small changes

This commit is contained in:
2022-01-14 00:04:06 +03:00
parent 54d9a43e75
commit 97269fd160
11 changed files with 55 additions and 69 deletions

View File

@@ -3,11 +3,14 @@
public abstract class BaseLogger
{
public string Logfile { get; init; }
public BaseLogger(string logfile) => Logfile = logfile;
public BaseLogger(string dir, string programName) => Logfile = $"{dir}\\{programName}_{DateTime.Now}.log".Replace(':', '-').Replace(' ', '_');
public BaseLogger() { }
public BaseLogger(string logfile) => (Logfile, WriteToFile) = (logfile,true);
public BaseLogger(string dir, string programName)
: this($"{dir}\\{programName}_{DateTime.Now}.log".Replace(':', '-').Replace(' ', '_')) { }
public bool IsEnabled { get; private set; } = false;
public bool WriteToFile { get; private set; } = false;
protected readonly object statelocker = new();
public void Disable() { lock (statelocker) IsEnabled = false; }
public void Enable() { lock (statelocker) IsEnabled = true; }

View File

@@ -3,6 +3,7 @@
// вывод лога в консоль и файл
public class DefaultLogger : BaseLogger
{
public DefaultLogger() => Logfile = "";
public DefaultLogger(string logfile) : base(logfile) { }
public DefaultLogger(string dir, string programName) : base(dir, programName) { }
@@ -18,15 +19,19 @@ public class DefaultLogger : BaseLogger
public void LogNoTime(params string[] msg)
{
lock (Logfile) if (!IsEnabled) return;
msg[msg.Length - 1] += '\n';
ColoredConsole.Write(msg);
if (msg.Length == 1)
lock (Logfile) File.AppendAllText(Logfile, msg[0]);
else
if (WriteToFile)
{
StringBuilder strB = new();
for (ushort i = 0; i < msg.Length; i++)
strB.Append(msg[++i]);
lock (Logfile) File.AppendAllText(Logfile, strB.ToString());
if (msg.Length == 1)
lock (Logfile) File.AppendAllText(Logfile, msg[0]);
else
{
StringBuilder strB = new();
for (ushort i = 0; i < msg.Length; i++)
strB.Append(msg[++i]);
lock (Logfile) File.AppendAllText(Logfile, strB.ToString());
}
}
}
}