Files
2023-06-24 17:27:22 +02:00

38 lines
1.3 KiB
C#

using System.Text;
using NLog;
using NLog.Targets;
namespace TURN.Services.Chess
{
public static class LoggerFactory
{
public static Logger GetLogger()
{
return LogManager.Setup().LoadConfiguration(c =>
{
ColoredConsoleTarget consoleTarget = new()
{
Layout = "${date}|${level:uppercase=true}|${message:withexception=true}"
};
FileTarget fileTarget = new()
{
FileName = Environment.GetEnvironmentVariable("LOG_FILE_PATH"),
Layout = "${date}|${level:uppercase=true}|${message:withexception=true}",
Encoding = Encoding.UTF8,
LineEnding = LineEndingMode.CRLF,
KeepFileOpen = true,
ConcurrentWrites = true,
ArchiveAboveSize = long.Parse(Environment.GetEnvironmentVariable("LOG_FILE_SIZE")),
MaxArchiveFiles = 10,
MaxArchiveDays = 365
};
_ = c.ForLogger("consoleAndFile")
.FilterMinLevel(NLog.LogLevel.Debug)
.WriteTo(consoleTarget)
.WriteTo(fileTarget);
}).GetLogger("consoleAndFile");
}
}
}