Я разрабатываю форму окна в C#. Net 3.5. Я использую log4net для отображения различных сообщений журнала. Моего журнала сообщения выглядят следующим образом:Как игнорировать определенные сообщения журнала, если они уже существуют C#
ОШИБКА 15.11.2016 12:47:24 - Компьютер: SUPER, Пользователь: XYZ, модуль: ServiceA, метод: loadSettings, [ERROR1001] Connectionlost
ОШИБКА 15,11. 2016 12:47:34 - Компьютер: SUPER, Пользователь: XYZ, Модуль: ServiceA, Метод: loadSettings, [ERROR1001] Connectionlost
ОШИБКА 15.11.2016 12:47:44 - Компьютер: SUPER, Пользователь: XYZ, Module : ServiceA, Метод: loadSettings, [ERROR1001] Номер подключения
Есть ли способ проверить, существует ли сообщение журнала? Я хочу отобразить вышеприведенное сообщение один раз, если это произойдет.
Вот мой код:
private static void Log(string message, string type, string module)
{
try
{
sLogMessage = string.Format("Computer: {0}, User: {1}, Module: {2}, Method: {3}, [{4}] {5}{6}",
System.Environment.MachineName, System.Environment.UserName,
module, new StackTrace().GetFrame(2).GetMethod().Name,
type, message, Environment.NewLine);
}
catch (Exception)
{
}
switch (type)
{
case "DEBUG": logger.Debug(sLogMessage);
break;
case "INFO":
try
{
logger.Info(sLogMessage);
}
catch (Exception)
{
}
break;
case "WARNING": logger.Warn(sLogMessage);
break;
//here displays my error message and i want to check if it already exixts
case "ERROR": logger.Error(sLogMessage);
break;
}
}
Да, кешируйте свои сообщения об ошибках при их получении и проверяйте их. Не уверен, почему вы только хотите регистрировать его один раз в день; вы теряете одно из больших преимуществ регистрации, если вы это делаете. Вам нужно будет снять метку с вашего сообщения, хотя перед сравнением. –
Я не имею в виду раз в день, скажем, каждые 20 секунд или около того. – DeveloperSD
есть ли какой-нибудь пример кода – DeveloperSD