/// <summary> /// Faz a tradução do tipo proprietário para o EventLogEntryType para poder /// efetuar o log no event viewer corretamente. /// </summary> /// <param name="tipo"></param> /// <returns></returns> private static EventLogEntryType traduzirEventLogEntryType(LogTipoEnum tipo) { switch (tipo) { case LogTipoEnum.Aviso: return(EventLogEntryType.Warning); break; case LogTipoEnum.Erro: return(EventLogEntryType.Error); break; case LogTipoEnum.Passagem: return(EventLogEntryType.Information); break; default: return(EventLogEntryType.Error); break; } }
/// <summary> /// Efetua o log /// </summary> public static void EfetuarLog(string mensagem, LogTipoEnum tipo, string referenciaOrigem) { // Verifica se a inicialização já foi realizada if (!_inicializado) { inicializar(); } // Acha a string da origem string origem = _config.NomeOrigemLogDefault; if (referenciaOrigem != null && _dicionarioOrigens.ContainsKey(referenciaOrigem)) { origem = _dicionarioOrigens[referenciaOrigem]; } // Faz o log no console if (_config.LogarEmConsole) { Console.WriteLine(retornarCaractereInicio(tipo) + " " + DateTime.Now.ToString("dd/MM/yyyy hh:mm:ss") + ": " + mensagem); } // Faz o log no event viewer if (_config.LogarEmEventViewer) { EventLog.WriteEntry(origem, mensagem, traduzirEventLogEntryType(tipo)); } }
/// <summary> /// Retorna o caractere utilizado no inicio das mensagens do console /// </summary> /// <param name="tipo"></param> /// <returns></returns> private static string retornarCaractereInicio(LogTipoEnum tipo) { switch (tipo) { case LogTipoEnum.Passagem: return("#"); break; case LogTipoEnum.Aviso: return("!"); break; case LogTipoEnum.Erro: return("@"); break; default: return("?"); break; } }
/// <summary> /// Efetua o log. Overload que faz o log de uma mensagem passando a origem default /// </summary> /// <param name="mensagem"></param> /// <param name="tipo"></param> /// <param name="referenciaOrigem"></param> public static void EfetuarLog(string mensagem, LogTipoEnum tipo) { // Repassa a chamada EfetuarLog(mensagem, tipo, (string)null); }