20 lines
725 B
C#
20 lines
725 B
C#
namespace DTLib.Loggers;
|
|
|
|
public abstract class BaseLogger
|
|
{
|
|
public string Logfile { get; init; }
|
|
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; }
|
|
|
|
public abstract void Log(params string[] msg);
|
|
}
|