From e5756ac8e6529c73df19f590aa9f19299ab260c9 Mon Sep 17 00:00:00 2001 From: JustArchi Date: Sat, 27 Jul 2019 19:22:22 +0200 Subject: [PATCH] Enable logs archiving --- ArchiSteamFarm/NLog/Logging.cs | 14 +++++++++++++- ArchiSteamFarm/SharedInfo.cs | 2 ++ ArchiSteamFarm/overlay/all/logs/.gitkeep | 0 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 ArchiSteamFarm/overlay/all/logs/.gitkeep diff --git a/ArchiSteamFarm/NLog/Logging.cs b/ArchiSteamFarm/NLog/Logging.cs index 56c49d5eb..6704307f4 100644 --- a/ArchiSteamFarm/NLog/Logging.cs +++ b/ArchiSteamFarm/NLog/Logging.cs @@ -166,12 +166,24 @@ namespace ArchiSteamFarm.NLog { config.LoggingRules.Add(new LoggingRule("*", LogLevel.Debug, coloredConsoleTarget)); if (uniqueInstance) { + try { + if (!Directory.Exists(SharedInfo.ArchivalLogsDirectory)) { + Directory.CreateDirectory(SharedInfo.ArchivalLogsDirectory); + } + } catch (Exception e) { + ASF.ArchiLogger.LogGenericException(e); + } + FileTarget fileTarget = new FileTarget("File") { + ArchiveFileName = Path.Combine(SharedInfo.ArchivalLogsDirectory, SharedInfo.ArchivalLogFile), + ArchiveNumbering = ArchiveNumberingMode.Rolling, + ArchiveOldFileOnStartup = true, CleanupFileName = false, ConcurrentWrites = false, DeleteOldFileOnStartup = true, FileName = SharedInfo.LogFile, - Layout = GeneralLayout + Layout = GeneralLayout, + MaxArchiveFiles = 10 }; config.AddTarget(fileTarget); diff --git a/ArchiSteamFarm/SharedInfo.cs b/ArchiSteamFarm/SharedInfo.cs index c7297aaf2..fa64f881a 100644 --- a/ArchiSteamFarm/SharedInfo.cs +++ b/ArchiSteamFarm/SharedInfo.cs @@ -29,6 +29,8 @@ using JetBrains.Annotations; namespace ArchiSteamFarm { internal static class SharedInfo { internal const ulong ArchiSteamID = 76561198006963719; + internal const string ArchivalLogFile = "log.{#}.txt"; + internal const string ArchivalLogsDirectory = "logs"; internal const string ASF = nameof(ASF); internal const ulong ASFGroupSteamID = 103582791440160998; internal const string AssemblyDocumentation = AssemblyName + ".xml"; diff --git a/ArchiSteamFarm/overlay/all/logs/.gitkeep b/ArchiSteamFarm/overlay/all/logs/.gitkeep new file mode 100644 index 000000000..e69de29bb