Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
0
        private static IEnumerable <FrameworkAppender> GetAppenders(LogConfiguration configuracao)
        {
            yield return(new FileAppenderLog(configuracao));

            yield return(new DebugAppenderLog(configuracao));

            yield return(new ConsoleAppenderLog(configuracao));
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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();
        }