public static void AddSmtpAppender(string toAddress, string fromAddress, string subject, string smtpHost,
                                           int smtpPort   = 25,
                                           int bufferSize = 100000,
                                           log4net.Core.Level threshold = null,
                                           string logPattern            = CodeConfiguredUtilities.DefaultLogPattern)
        {
            // it's cast to a Hierarchy because we need repo.Root to add appenders
            var repo = (log4net.Repository.Hierarchy.Hierarchy)log4net.LogManager.GetRepository();

            var logPatternLayout = new log4net.Layout.PatternLayout(logPattern);

            var smtpAppender = new log4net.Appender.SmtpAppender();

            smtpAppender.Layout = logPatternLayout;

            smtpAppender.To         = toAddress;
            smtpAppender.From       = fromAddress;
            smtpAppender.Subject    = subject;
            smtpAppender.SmtpHost   = smtpHost;
            smtpAppender.Port       = smtpPort;
            smtpAppender.BufferSize = bufferSize;

            if (threshold != null)
            {
                smtpAppender.Threshold = threshold;
            }

            smtpAppender.ActivateOptions();
            repo.Root.AddAppender(smtpAppender);
        }
Пример #2
0
        public override void Configure(string key, ILoggerRepository repository)
        {
            var appender = new log4net.Appender.SmtpAppender();

            appender.Authentication = log4net.Appender.SmtpAppender.SmtpAuthentication.Basic;
            appender.Name           = "SmtpAppender";

            appender.To       = To;
            appender.From     = From;
            appender.Username = From;
            appender.Password = Password;
            appender.Subject  = Subject;
            appender.SmtpHost = Host;

            appender.Lossy     = true;
            appender.Threshold = Levels[0];
            appender.Evaluator = new log4net.Core.LevelEvaluator(Levels[0]);

            var layout = new PatternLayout(Pattern);

            layout.ActivateOptions();
            appender.Layout = layout;

            appender.ActivateOptions();

            BasicConfigurator.Configure(repository, appender);
        }
Пример #3
0
        /// <summary>
        /// Adds the email logging appender.
        /// </summary>
        public static void ConfigureEmailLoggingAppender()
        {
            log4net.Repository.Hierarchy.Hierarchy hier =
            (log4net.Repository.Hierarchy.Hierarchy)log4net.LogManager.GetRepository();

            if (hier != null)
            {
                log4net.Appender.SmtpAppender appender = null;
                appender = (log4net.Appender.SmtpAppender)hier.Root.GetAppender("SmtpAppender");

                if (appender == null)
                    appender = new log4net.Appender.SmtpAppender();

                appender.Name = "SmtpAppender";
                appender.From = HostSetting.GetHostSetting("HostEmailAddress");
                appender.To = HostSetting.GetHostSetting("ErrorLoggingEmailAddress");
                appender.Subject = "BugNET Error";
                appender.SmtpHost = HostSetting.GetHostSetting("SMTPServer");
                appender.Priority = System.Net.Mail.MailPriority.High;
                appender.Threshold = log4net.Core.Level.Error;
                appender.BufferSize = 0;

                //create patternlayout
                log4net.Layout.PatternLayout patternLayout = new
                log4net.Layout.PatternLayout("%newline%date [%thread] %-5level %logger [%property{NDC}] - %message%newline%newline%newline");
                patternLayout.ActivateOptions();
                appender.Layout = patternLayout;
                appender.ActivateOptions();

                //add appender to root logger
                hier.Root.AddAppender(appender);
            }
        }
Пример #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
            }
        }
Пример #5
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
            }
        }