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)); }
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); } } } }
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); } } } }
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(); }); }
/// <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); } } } }
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 } }