diff --git a/ATxCommon/Serializables/ServiceConfig.cs b/ATxCommon/Serializables/ServiceConfig.cs index 5c3a4802710e027068d875b715ac5919bc0a0576..ef2899f8b7944d7913d29d45efb8243d5b3ca3b2 100644 --- a/ATxCommon/Serializables/ServiceConfig.cs +++ b/ATxCommon/Serializables/ServiceConfig.cs @@ -288,6 +288,9 @@ namespace ATxCommon.Serializables } } + [XmlIgnore] + public static string ValidatorWarnings { get; set; } + #endregion @@ -391,8 +394,10 @@ namespace ATxCommon.Serializables SubOptimal(value.ToString(), name, "value is set very high, please check!"); } - void SubOptimal(string value, string name, string msg) { - Log.Warn(">>> Sub-optimal setting detected: <{0}> [{1}] {2}", name, value, msg); + void SubOptimal(string value, string name, string message) { + var msg = $">>> Sub-optimal setting detected: <{name}> [{value}] {message}"; + ValidatorWarnings += msg + "\n"; + Log.Warn(msg); } void LogAndThrow(string msg) { diff --git a/ATxService/AutoTx.cs b/ATxService/AutoTx.cs index 0397a858fb45ae934e9c49d766cd7121ac3859cf..c1752fd51f4c005603fec195e9481e906207d983 100644 --- a/ATxService/AutoTx.cs +++ b/ATxService/AutoTx.cs @@ -415,6 +415,12 @@ namespace ATxService } Log.Debug(msg); + + // finally check if the validation gave warnings and send them to the admin: + var warnings = ServiceConfig.ValidatorWarnings; + if (string.IsNullOrWhiteSpace(warnings)) + return; + SendAdminEmail(warnings); } #endregion