示例#1
0
        public ActionResult Diagnostics()
        {
            var smtp = (SmtpSection)ConfigurationManager.GetSection("system.net/mailSettings/smtp");

            var model = new DiagnosticsDTO
            {
                ServerName   = DataContext.Database.Connection.Database,
                Theme        = WebConfigurationManager.AppSettings["CurrentTheme"],
                SSOURL       = WebConfigurationManager.AppSettings["SsoUrl"],
                ServiceUrl   = WebConfigurationManager.AppSettings["ServiceUrl"],
                ResourcesURL = WebConfigurationManager.AppSettings["ResourceUrl"],
                MailSettings = new MailSettingsDTO
                {
                    DeliveryMethod = smtp.DeliveryMethod.ToString(),
                    FromAddress    = smtp.From.ToString(),
                    Server         = smtp.Network.Host
                },
            };

            log4net.Repository.Hierarchy.Hierarchy hierachy = (log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository();
            foreach (IAppender appender in hierachy.GetAppenders())
            {
                if (appender is RollingFileAppender)
                {
                    model.Log4Net = new Log4NetConfig
                    {
                        FileLocation   = ((RollingFileAppender)appender).File,
                        LogPattern     = ((RollingFileAppender)appender).DatePattern,
                        FileMaxSize    = ((RollingFileAppender)appender).MaximumFileSize,
                        MaxFilesToKeep = ((RollingFileAppender)appender).MaxSizeRollBackups.ToString()
                    };
                }
            }


            AppDomain currentDomain = AppDomain.CurrentDomain;

            Assembly[]          assems    = currentDomain.GetAssemblies();
            IList <AssemblyDTO> assemList = new List <AssemblyDTO>();

            foreach (var ass in assems)
            {
                assemList.Add(new AssemblyDTO
                {
                    AssemblyName    = ass.GetName().Name,
                    AssemblyVersion = ass.GetName().Version.ToString()
                });
            }

            model.Assemblies = assemList;

            return(View(model));
        }
示例#2
0
        public OSAELog()
        {
            StackFrame frame  = new StackFrame(1);
            MethodBase method = frame.GetMethod();

            logSource = method.DeclaringType;
            Log       = LogManager.GetLogger(logSource);


            bDebug = Convert.ToBoolean(OSAEObjectPropertyManager.GetObjectPropertyValue("SYSTEM", "Debug").Value);
            var root       = ((log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository()).Root;
            var attachable = root as log4net.Core.IAppenderAttachable;

            if (attachable != null)
            {
                log4net.Repository.Hierarchy.Hierarchy hier = log4net.LogManager.GetRepository() as log4net.Repository.Hierarchy.Hierarchy;
                if (hier != null)
                {
                    var fileAppender =
                        (log4net.Appender.RollingFileAppender)hier.GetAppenders().Where(
                            appender => appender.Name.Equals("RollingLogFileAppender", StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault();

                    var adoAppender =
                        (log4net.Appender.AdoNetAppender)hier.GetAppenders().Where(
                            appender => appender.Name.Equals("MySql_ADONetAppender", StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault();

                    if (Common.TestConnection().Success)
                    {
                        if (adoAppender != null)
                        {
                            adoAppender.ConnectionString = Common.ConnectionString;
                            adoAppender.ActivateOptions();
                        }
                        root.RemoveAppender(fileAppender);
                    }
                }
            }
        }
示例#3
0
 public void SetLogFilePath(string LogFilePath)
 {
     log4net.Repository.Hierarchy.Hierarchy hierachy = (log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository();
     foreach (IAppender appender in hierachy.GetAppenders())
     {
         if (appender is RollingFileAppender)
         {
             string filePath = Path.Combine(LogFilePath == null || LogFilePath == string.Empty ? Path.Combine(System.Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "PopMedNet", "PMN", "logs") : LogFilePath, "DataMartClient.txt");
             if (filePath.ToLower() != ((RollingFileAppender)appender).File.ToLower())
             {
                 ((RollingFileAppender)appender).File = filePath;
                 ((RollingFileAppender)appender).ActivateOptions();
                 hierachy.Configured = true;
                 hierachy.RaiseConfigurationChanged(EventArgs.Empty);
             }
         }
     }
 }
示例#4
0
        public static void SetParametersLog()
        {
            #region variables
            string path             = string.Empty;
            string server           = string.Empty;
            string user             = string.Empty;
            string pwd              = string.Empty;
            string serverSmtp       = string.Empty;
            string MailDestinataire = string.Empty;
            string Bdd              = string.Empty;
            try
            {
                //path = tabParameter[0];


                string connStr = ConfigurationManager.ConnectionStrings[Constantes.SAPHIRCOMConnexionStringName].ConnectionString;
                SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(connStr);
                server = builder.DataSource;
                Bdd    = builder.InitialCatalog;
                if (!builder.IntegratedSecurity)
                {
                    user = builder.UserID;
                    pwd  = builder.Password;
                }

                serverSmtp       = WebConfigurationManager.AppSettings["AddressServerMailing"];
                MailDestinataire = WebConfigurationManager.AppSettings["AddressRecipient"];
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            #endregion

            log4net.Repository.Hierarchy.Hierarchy h = (log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository();

            var x = h.GetCurrentLoggers();

            var lstAppenders = h.GetAppenders().ToList();

            foreach (var item in lstAppenders)
            {
                //-file ,we  take default...

                #region BDD
                if (item is log4net.Appender.AdoNetAppender)
                {
                    if (item.Name.Equals(Constantes.AdoNetAppender))
                    {
                        try
                        {
                            log4net.Appender.AdoNetAppender fBDD = (log4net.Appender.AdoNetAppender)item;

                            SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
                            builder.DataSource          = server;
                            builder.InitialCatalog      = Bdd;
                            builder.PersistSecurityInfo = true;
                            if (!string.IsNullOrEmpty(user))
                            {
                                builder.UserID   = user;
                                builder.Password = pwd;
                            }
                            else
                            {
                                builder.IntegratedSecurity = true;
                            }

                            fBDD.ConnectionString = builder.ConnectionString;

                            //----------
                            setValues_ofData();
                            //-------------
                            fBDD.ActivateOptions();
                        }
                        catch (Exception ex)
                        {
                            ACEVISION.Common.Log.MonitoringLogger.Error(DateTime.Now + " - " + ex.Message);
                        }
                    }
                }
                #endregion

                #region Mail
                if (item is log4net.Appender.SmtpAppender)
                {
                    if (item.Name.Equals(Constantes.SmtpAppender))
                    {
                        try
                        {
                            log4net.Appender.SmtpAppender fMail = (log4net.Appender.SmtpAppender)item;

                            fMail.SmtpHost = serverSmtp;
                            fMail.To       = MailDestinataire;

                            fMail.ActivateOptions();
                        }
                        catch (Exception ex)
                        {
                            ACEVISION.Common.Log.MonitoringLogger.Error(DateTime.Now + " - " + ex.Message);
                        }
                    }
                }
                #endregion
            }
        }
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }



            #region 添加log4net

            try
            {
                throw new Exception("使用log4net.ElasticSearch,不使用 log4stash 操作 ElasticSearch");

                //使用 log4stash
                var Log4NetConfig = $"log4net.Joson{(env.IsDevelopment() ? Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") : String.Empty)}.config";
                loggerFactory.AddLog4Net(new Log4NetProviderOptions {
                    Name = "Log4Net", Log4NetConfigFileName = Log4NetConfig
                });
            }
            catch (Exception)
            {
                #region log4net.ElasticSearch 设置数据库

                log4net.Repository.Hierarchy.Hierarchy Hierarchy = LogManager.GetRepository() as log4net.Repository.Hierarchy.Hierarchy;

                if (Hierarchy != null)
                {
                    //get ADONetAppender
                    var SQLServerAppender = (AdoNetAppender)Hierarchy.GetAppenders()
                                            .Where(appender => appender.Name.Equals("SQLServerAppender", StringComparison.InvariantCultureIgnoreCase))
                                            .FirstOrDefault();

                    var SQLiteNetAppender = (AdoNetAppender)Hierarchy.GetAppenders()
                                            .Where(appender => appender.Name.Equals("SQLiteNetAppender", StringComparison.InvariantCultureIgnoreCase))
                                            .FirstOrDefault();


                    ElasticSearchAppender ElasticSearchAppender = (ElasticSearchAppender)Hierarchy.GetAppenders()
                                                                  .Where(appender => appender.Name.Equals("ElasticSearchAppender", StringComparison.InvariantCultureIgnoreCase))
                                                                  .FirstOrDefault();

                    ElasticSearchAppender ElasticSearchCustomaryAppender = (ElasticSearchAppender)Hierarchy.GetAppenders()
                                                                           .Where(appender => appender.Name.Equals("ElasticSearchCustomaryAppender", StringComparison.InvariantCultureIgnoreCase))
                                                                           .FirstOrDefault();


                    if (SQLServerAppender != null)
                    {
                        //SQLServerAppender.ConnectionString = "数据库连接";

                        string SQLServer = Configuration.GetConnectionString("SQLServer");
                        //更新数据库连接
                        SQLServerAppender.ConnectionString = Configuration.GetConnectionString(SQLServer);
                        //SQLServerAppender.ConnectionStringName = "SQLServer";
                        //刷新AdoNetAppender
                        SQLServerAppender.ActivateOptions();
                    }


                    if (SQLiteNetAppender != null)
                    {
                        string SQLite = Configuration.GetConnectionString("SQLite");
                        SQLiteNetAppender.ConnectionString = Configuration.GetConnectionString(SQLite);
                        SQLiteNetAppender.ActivateOptions();
                    }

                    if (ElasticSearchAppender != null)
                    {
                        string ElasticSearch = Configuration.GetConnectionString("ElasticSearch");
                        ElasticSearchAppender.ConnectionString = Configuration.GetConnectionString(ElasticSearch);
                        ElasticSearchAppender.ActivateOptions();
                    }

                    if (ElasticSearchCustomaryAppender != null)
                    {
                        string ElasticSearch = Configuration.GetConnectionString("ElasticSearchCustomary");
                        ElasticSearchCustomaryAppender.ConnectionString = Configuration.GetConnectionString(ElasticSearch);
                        ElasticSearchCustomaryAppender.ActivateOptions();
                    }
                }

                #region 动态修改log4net设置

                //https://www.cnblogs.com/jinzhao/archive/2009/08/06/1540214.html
                //var log4netConfig = new FileInfo("~/log4net.Relase.config");
                //log4net.Config.XmlConfigurator.ConfigureAndWatch(log4netConfig);

                #endregion

                using (Stream stream = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("Elastic.Kibana.Log4Net.log4net.Relase.config"))
                {
                    log4net.Config.XmlConfigurator.Configure(stream);
                }

                #endregion
            }

            #endregion


            app.UseHttpsRedirection();

            app.UseRouting();

            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });
        }
示例#6
0
        /// <summary>
        /// Used to create an instance of an OSAELog
        /// </summary>
        /// <param name="source">
        /// The name of the Log to create an instance of.</param>
        public OSAELog(string source)
        {
            StackFrame frame = new StackFrame(1);

            //MethodBase method = frame.GetMethod();
            //logSource = method.DeclaringType;
            Log = LogManager.GetLogger(source);

            DBConnectionStatus results = Common.TestConnection();

            //I will make this use a loop in the future if it fixes the problems with the service starting up
            if (!results.Success)
            {
                Thread.Sleep(5000);
                results = Common.TestConnection();
                if (!results.Success)
                {
                    Thread.Sleep(5000);
                    results = Common.TestConnection();
                    if (!results.Success)
                    {
                        Thread.Sleep(5000);
                        results = Common.TestConnection();
                        if (!results.Success)
                        {
                            throw new Exception("DB Connection Test Failed!");
                        }
                    }
                }
            }

            try
            {
                bPrune = Convert.ToBoolean(OSAEObjectPropertyManager.GetObjectPropertyValue("SYSTEM", "Prune Logs").Value);
            }
            catch
            {
                bPrune = false;
            }

            bDebug = Convert.ToBoolean(OSAEObjectPropertyManager.GetObjectPropertyValue("SYSTEM", "Debug").Value);
            var root       = ((log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository()).Root;
            var attachable = root as log4net.Core.IAppenderAttachable;

            if (attachable != null)
            {
                log4net.Repository.Hierarchy.Hierarchy hier = log4net.LogManager.GetRepository() as log4net.Repository.Hierarchy.Hierarchy;
                if (hier != null)
                {
                    var fileAppender =
                        (log4net.Appender.RollingFileAppender)hier.GetAppenders().Where(
                            appender => appender.Name.Equals("RollingLogFileAppender", StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault();

                    var adoAppender =
                        (log4net.Appender.AdoNetAppender)hier.GetAppenders().Where(
                            appender => appender.Name.Equals("MySql_ADONetAppender", StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault();

                    if (Common.TestConnection().Success)
                    {
                        if (adoAppender != null)
                        {
                            adoAppender.ConnectionString = Common.ConnectionString;
                            adoAppender.ActivateOptions();
                        }
                        root.RemoveAppender(fileAppender);
                    }
                }
            }
        }
示例#7
0
        public static void SetParametersLog(string[] tabParameter)
        {
            #region variables
            string path             = string.Empty;
            string server           = string.Empty;
            string user             = string.Empty;
            string pwd              = string.Empty;
            string serverSmtp       = string.Empty;
            string MailDestinataire = string.Empty;
            string Bdd              = string.Empty;
            try
            {
                path             = tabParameter[0];
                server           = tabParameter[1];
                Bdd              = tabParameter[2];
                user             = tabParameter[3];
                pwd              = tabParameter[4];
                serverSmtp       = tabParameter[5];
                MailDestinataire = tabParameter[6];


                //-----------------change chaine de connexion du File
                string msgErr = string.Empty;
                bool   b      = changeConnexionString(server, Bdd, user, pwd, out msgErr);
                if (b)
                {
                    Console.WriteLine("Chaine de connection mise à jour !");

                    bool bCrypt = encryptConnexionString(out msgErr);
                    if (bCrypt)
                    {
                        Console.WriteLine("Chaine de connection cryptée !");
                        ResetConfigMechanism();
                    }
                    else
                    {
                        Console.WriteLine("Erreur : {0} , Echec Cryptage Chaine de connection !", msgErr);
                    }
                }
                else
                {
                    Console.WriteLine("Erreur : {0} , Echec Mise à jour Chaine de connection !", msgErr);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            #endregion



            log4net.Repository.Hierarchy.Hierarchy h = (log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository();

            var x = h.GetCurrentLoggers();

            var lstAppenders = h.GetAppenders().ToList();


            foreach (var item in lstAppenders)
            {
                #region File
                if (item is log4net.Appender.RollingFileAppender)
                {
                    if (item.Name.Equals(Constantes.RollingFileAppender))
                    {
                        try
                        {
                            log4net.Appender.RollingFileAppender fa = (log4net.Appender.RollingFileAppender)item;
                            string locationFileLog = path + @"\Interface_SAPHIR_ACEVISION_Log.log";
                            fa.File = locationFileLog;
                            fa.ActivateOptions();

                            Console.WriteLine("fullPath : " + locationFileLog);
                        }
                        catch (Exception ex)
                        {
                            ACEVISION.Common.Log.MonitoringLogger.Error(DateTime.Now + " - " + ex.Message);
                        }
                    }
                }
                #endregion

                #region BDD
                if (item is log4net.Appender.AdoNetAppender)
                {
                    if (item.Name.Equals(Constantes.AdoNetAppender))
                    {
                        try
                        {
                            log4net.Appender.AdoNetAppender fBDD = (log4net.Appender.AdoNetAppender)item;

                            SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
                            builder.DataSource          = server;
                            builder.InitialCatalog      = Bdd;
                            builder.PersistSecurityInfo = true;
                            builder.UserID        = user;
                            builder.Password      = pwd;
                            fBDD.ConnectionString = builder.ConnectionString;

                            //----------
                            setValues_ofData();
                            //-------------
                            fBDD.ActivateOptions();
                        }
                        catch (Exception ex)
                        {
                            ACEVISION.Common.Log.MonitoringLogger.Error(DateTime.Now + " - " + ex.Message);
                        }
                    }
                }
                #endregion


                #region Mail
                if (item is log4net.Appender.SmtpAppender)
                {
                    if (item.Name.Equals(Constantes.SmtpAppender))
                    {
                        try
                        {
                            log4net.Appender.SmtpAppender fMail = (log4net.Appender.SmtpAppender)item;

                            fMail.SmtpHost = serverSmtp;
                            fMail.To       = MailDestinataire;

                            fMail.ActivateOptions();
                        }
                        catch (Exception ex)
                        {
                            ACEVISION.Common.Log.MonitoringLogger.Error(DateTime.Now + " - " + ex.Message);
                        }
                    }
                }
                #endregion
            }
        }