public static void Configurar(LogConfiguration configuracao = null) { if (configuracao == null) { configuracao = new LogConfiguration(); } AssistirArquivoDeConfiguracao(); Root.Repository.ResetConfiguration(); configuracao = configuracao.MergeWithSettingsConfig(); var appenders = GetAppenders(configuracao); var loggers = GetLoggers(configuracao); foreach (var appender in appenders) { if (appender.ShouldBeEnable) { foreach (var logger in loggers) { if (logger.ShouldBeEnable) { logger.Logger.AddAppender(appender.Get()); } } } } Configuracao = configuracao; Root.Repository.Configured = true; }
private static IEnumerable <FrameworkAppender> GetAppenders(LogConfiguration configuracao) { yield return(new FileAppenderLog(configuracao)); yield return(new DebugAppenderLog(configuracao)); yield return(new ConsoleAppenderLog(configuracao)); }
private static IEnumerable <BaseLogger> GetLoggers(LogConfiguration configuracao) { yield return(new ApplicationLogger(configuracao, Root.Repository)); yield return(new FrameworkLogger(configuracao, Root.Repository)); yield return(new HibernateLogger(configuracao, Root.Repository)); }
public static void Executar( string caminhoDaAplicacao = "", bool executarApplicationBoot = true, bool incluiTestes = false, LogConfiguration logConfiguration = null, params string[] prefixosDeDependencias) { if (executado) { Log.Application.DebugFormat("Foi chamado Bootstrapper.Executar mas o boot já foi executado"); return; } try { Aplicacao.MainAssembly = Assembly.GetCallingAssembly(); Aplicacao.EstaRodandoComoTesteAutomatizado = incluiTestes; Aplicacao.Configurar(caminhoDaAplicacao); Log.Configurar(logConfiguration); Log.Application.Info("--------------------------------------------------------------"); Log.Application.InfoFormat("Inicializando {0}", Aplicacao.Nome); Log.Application.InfoFormat("Versão: {0}", Aplicacao.Versao); Log.Application.InfoFormat("Local: {0}", Aplicacao.Caminho); Log.Application.DebugFormat("x64 bit process? {0}", Aplicacao.Rodando64Bits); AssemblyRedirect(); Dependencias.Registrar( prefixosDeDependencias, SettingsConfig.DependencyPrefixes, SettingsConfig.DependencyPlugin, incluiTestes); ExecutarTarefasDoTipo <IPluginBoot>(); ExecutarTarefasDoTipo <IConfiguracaoBoot>(); ExecutarTarefasDoTipo <IFrameworkBoot>(); if (executarApplicationBoot) { ExecutarTarefasDoTipo <IApplicationBoot>(); } Log.Application.FatalFormat("{0} iniciado", Aplicacao.Nome); executado = true; } catch (Exception exception) { Log.Application.Fatal("Erro ao executar Bootstrapper.Executar", exception); throw; } ExecutarM2SeFoiPassadoParametros(); }