namespace Voile.Common.Logging; public class VoileLogger { private readonly string _name; private readonly VoileLogManager _manager; internal VoileLogger(string name, VoileLogManager manager) { _name = name; _manager = manager; } public void Log(VoileLogLevel level, string message) { VoileLogMessage produced = new VoileLogMessage(DateTime.Now, level, _name, message); _manager.ProcessMessage(produced); } public void Info(string message, params object[] args) { Log(VoileLogLevel.INFO, String.Format(message, args)); } public void Warn(string message, params object[] args) { Log(VoileLogLevel.WARN, String.Format(message, args)); } public void Error(string message, params object[] args) { Log(VoileLogLevel.ERROR, String.Format(message, args)); } public void Debug(string message, params object[] args) { Log(VoileLogLevel.DEBUG, String.Format(message, args)); } }