From abb4a0b2b45075531f4fe40d7d2d1afc7b6e0ab3 Mon Sep 17 00:00:00 2001 From: Niko Ehrenfeuchter <nikolaus.ehrenfeuchter@unibas.ch> Date: Fri, 19 Jan 2018 18:06:26 +0100 Subject: [PATCH] More mail logging configuration. Refers to #3 --- AutoTx/AutoTx.cs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/AutoTx/AutoTx.cs b/AutoTx/AutoTx.cs index 2b26298..b61031f 100644 --- a/AutoTx/AutoTx.cs +++ b/AutoTx/AutoTx.cs @@ -20,6 +20,8 @@ namespace AutoTx #region global variables private static readonly Logger Log = LogManager.GetCurrentClassLogger(); + private const string LogFormatDefault = @"${date:format=yyyy-MM-dd HH\:mm\:ss} [${level}] ${message}"; + // private const string LogFormatDefault = @"${date:format=yyyy-MM-dd HH\:mm\:ss} [${level}] (${logger}) ${message}" // naming convention: variables ending with "Path" are strings, variables // ending with "Dir" are DirectoryInfo objects @@ -89,8 +91,7 @@ namespace AutoTx ArchiveFileName = ServiceName + ".{#}.log", MaxArchiveFiles = 9, KeepFileOpen = true, - Layout = @"${date:format=yyyy-MM-dd HH\:mm\:ss} [${level}] ${message}", - // Layout = @"${date:format=yyyy-MM-dd HH\:mm\:ss} [${level}] (${logger}) ${message}" + Layout = LogFormatDefault, }; logConfig.AddTarget("file", fileTarget); var logRuleFile = new LoggingRule("*", LogLevel.Debug, fileTarget); @@ -113,6 +114,11 @@ namespace AutoTx string.IsNullOrWhiteSpace(_config.AdminEmailAdress)) return; + var subject = string.Format("{0} - {1} - Admin Notification", + ServiceName, Environment.MachineName); + var body = string.Format("Notification from '{0}' ({1})\n\n{2}", + _config.HostAlias, Environment.MachineName, LogFormatDefault); + var logConfig = LogManager.Configuration; var mailTargetFatal = new MailTarget { Name = "mailfatal", @@ -120,6 +126,8 @@ namespace AutoTx SmtpPort = _config.SmtpPort, From = _config.EmailFrom, To = _config.AdminEmailAdress, + Subject = subject, + Body = body, }; logConfig.AddTarget(mailTargetFatal); logConfig.AddRuleForOneLevel(LogLevel.Fatal, mailTargetFatal); @@ -131,6 +139,8 @@ namespace AutoTx SmtpPort = _config.SmtpPort, From = _config.EmailFrom, To = _config.AdminDebugEmailAdress, + Subject = subject, + Body = body, }; logConfig.AddTarget(mailTargetError); logConfig.AddRuleForOneLevel(LogLevel.Error, mailTargetError); -- GitLab