Пример #1
0
    private log4net.Appender.AdoNetAppender GetAppender()
    {
        log4net.Appender.AdoNetAppender appender = new log4net.Appender.AdoNetAppender();
        appender.ConnectionType   = CrmConfigHelper.GetString(Constants.LOG4NET_CONNECTION_TYPE);
        appender.ConnectionString = CrmConfigHelper.GetString(Constants.LOG4NET_DB_CONNECTION);
        appender.BufferSize       = CrmConfigHelper.getInteger(Constants.LOG4NET_BUFFER_SIZE);
        appender.CommandText      = "INSERT INTO [EventLog] ([Date],[HostName],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @hostname, @log_level, @logger, @message,@exception)";
        appender.CommandType      = System.Data.CommandType.Text;
        appender.AddParameter(new log4net.Appender.AdoNetAppenderParameter()
        {
            ParameterName = "@log_date",
            DbType        = System.Data.DbType.DateTime,
            Size          = 100,
            Layout        = new RawLayoutConverter().ConvertFrom(new PatternLayout("%date{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}")) as IRawLayout
        });
        appender.AddParameter(new log4net.Appender.AdoNetAppenderParameter()
        {
            ParameterName = "@hostname",
            DbType        = System.Data.DbType.String,
            Size          = 50,
            Layout        = new RawLayoutConverter().ConvertFrom(new PatternLayout("%property{log4net:HostName}")) as IRawLayout
        });
        appender.AddParameter(new log4net.Appender.AdoNetAppenderParameter()
        {
            ParameterName = "@log_level",
            DbType        = System.Data.DbType.String,
            Size          = 50,
            Layout        = new RawLayoutConverter().ConvertFrom(new PatternLayout("%level")) as IRawLayout
        });
        appender.AddParameter(new log4net.Appender.AdoNetAppenderParameter()
        {
            ParameterName = "@logger",
            DbType        = System.Data.DbType.String,
            Size          = 50,
            Layout        = new RawLayoutConverter().ConvertFrom(new PatternLayout("%logger")) as IRawLayout
        });
        appender.AddParameter(new log4net.Appender.AdoNetAppenderParameter()
        {
            ParameterName = "@message",
            DbType        = System.Data.DbType.String,
            Size          = 4000,
            Layout        = new RawLayoutConverter().ConvertFrom(new PatternLayout("%message")) as IRawLayout
        });
        appender.AddParameter(new log4net.Appender.AdoNetAppenderParameter()
        {
            ParameterName = "@exception",
            DbType        = System.Data.DbType.String,
            Size          = 2000,
            Layout        = new RawLayoutConverter().ConvertFrom(new ExceptionLayout()) as IRawLayout
        });

        appender.ActivateOptions();
        return(appender);
    }
Пример #2
0
 private void SetAdoNetAppendersConnection(log4net.ILog log, string connectionString)
 {
     log4net.Appender.IAppender[] appenders = log.Logger.Repository.GetAppenders();
     foreach (log4net.Appender.IAppender appender in appenders)
     {
         if (appender is log4net.Appender.AdoNetAppender)
         {
             log4net.Appender.AdoNetAppender adoNetAppender = appender as log4net.Appender.AdoNetAppender;
             adoNetAppender.ConnectionString = connectionString;
             adoNetAppender.ActivateOptions();
         }
     }
 }
Пример #3
0
        static Logger()
        {
            //
            // TODO: Add constructor logic here
            //
            Trace.WriteLine("Logger contructor");

            connstring = ConfigurationManager.ConnectionStrings["SqlConn"].ConnectionString;
            if (connstring.Length == 0)
            {
                Trace.WriteLine("Errore impostazione connection string DB LOG", LoggerName);
                return;
            }


            log4net.Config.XmlConfigurator.Configure();

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

            if (hier != null)
            {
                //get ADONetAppender
                log4net.Appender.AdoNetAppender adoAppender =
                    (log4net.Appender.AdoNetAppender)hier.GetLogger(LoggerName,
                                                                    hier.LoggerFactory).GetAppender("AdoNetAppender");
                if (adoAppender != null)
                {
                    adoAppender.ConnectionString =
                        connstring;
                    adoAppender.ActivateOptions(); //refresh settings of appender
                }
            }

            log_level = ConfigurationManager.AppSettings["log_level"] + "";

            try
            {
                DefaultLogLevel = (EventLogEntryType)Enum.Parse(typeof(EventLogEntryType), log_level, true);
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex.ToString(), LoggerName);
            }

            cs = (ConfigurationManager.AppSettings["log_cat"] + string.Empty);
        }
Пример #4
0
        internal static void ApplyLogAppenderConfiguration()
        {
            if (log4net.LogManager.GetRepository() is log4net.Repository.Hierarchy.Hierarchy hierarchy)
            {
                TraceWriteLine("TRACE - Log4net appender initialisation");

                log4net.Appender.AdoNetAppender adoAppender = (log4net.Appender.AdoNetAppender)hierarchy.GetAppenders()
                                                              .Where(appender => appender.Name.Equals("AdoNetAppender", System.StringComparison.OrdinalIgnoreCase))
                                                              .FirstOrDefault();

                if (adoAppender != null)
                {
                    adoAppender.ConnectionString = ConnectionHelper.CONNECTION_LOCATION;
                    adoAppender.ActivateOptions();
                }
            }
        }
Пример #5
0
        public string GetLoggerInfo()
        {
            string ret = "";

            foreach (log4net.Appender.IAppender appender1 in log4.Logger.Repository.GetAppenders())
            {
                if (typeof(log4net.Appender.RollingFileAppender) == appender1.GetType())
                {
                    log4net.Appender.RollingFileAppender r1 = (log4net.Appender.RollingFileAppender)appender1;
                    ret += "File:" + System.IO.Path.GetFileName(r1.File) + " - ";
                }
                else if (typeof(log4net.Appender.AdoNetAppender) == appender1.GetType())
                {
                    log4net.Appender.AdoNetAppender db1 = (log4net.Appender.AdoNetAppender)appender1;
                    ret += "DB:" + db1.CommandText + " - ";
                }
                else
                {
                    ret += "???"; break;
                }
            }
            return("Logging to Log4Net: " + ret);
        }
Пример #6
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
            }
        }
Пример #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
            }
        }
        /// <summary>
        /// Creates a database appender
        /// </summary>
        /// <param name="ConnStr">Database connection string</param>
        /// <param name="ModuleName">Module name used by logger</param>
        /// <returns>ADONet database appender</returns>
        public static log4net.Appender.AdoNetAppender CreateDbAppender(string ConnStr, string ModuleName)
        {
            var ReturnAppender = new log4net.Appender.AdoNetAppender();

                ReturnAppender.BufferSize = 1;
                ReturnAppender.ConnectionType = "System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089";
                ReturnAppender.ConnectionString = ConnStr;
                ReturnAppender.CommandType = CommandType.StoredProcedure;
                ReturnAppender.CommandText = "PostLogEntry";

                //Type parameter
                var TypeParam = new log4net.Appender.AdoNetAppenderParameter();
                TypeParam.ParameterName = "@type";
                TypeParam.DbType = DbType.String;
                TypeParam.Size = 50;
                TypeParam.Layout = CreateLayout("%level");
                ReturnAppender.AddParameter(TypeParam);

                //Message parameter
                var MsgParam = new log4net.Appender.AdoNetAppenderParameter();
                MsgParam.ParameterName = "@message";
                MsgParam.DbType = DbType.String;
                MsgParam.Size = 4000;
                MsgParam.Layout = CreateLayout("%message");
                ReturnAppender.AddParameter(MsgParam);

                //PostedBy parameter
                var PostByParam = new log4net.Appender.AdoNetAppenderParameter();
                PostByParam.ParameterName = "@postedBy";
                PostByParam.DbType = DbType.String;
                PostByParam.Size = 128;
                PostByParam.Layout = CreateLayout(ModuleName);
                ReturnAppender.AddParameter(PostByParam);

                ReturnAppender.ActivateOptions();

                return ReturnAppender;
        }