Files
chess/TURN.Libraries.Core/LoggerFactory.cs
T
2023-06-24 17:15:56 +02:00

39 lines
1.3 KiB
C#

using System;
using System.Text;
using NLog;
using NLog.Targets;
namespace TURN.Libraries.Core
{
public static class LoggerFactory
{
public static Logger GetLogger()
{
return LogManager.Setup().LoadConfiguration(c =>
{
ColoredConsoleTarget consoleTarget = new ColoredConsoleTarget()
{
Layout = "${date}|${level:uppercase=true}|${message:withexception=true}"
};
FileTarget fileTarget = new FileTarget()
{
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(LogLevel.Debug)
.WriteTo(consoleTarget)
.WriteTo(fileTarget);
}).GetLogger("consoleAndFile");
}
}
}