public static void InitLogCenter() { #if !NET_CORE string nlogConfigPath = Path.Combine(Environment.BaseDirectory, "nlog.net45.config"); #else string nlogConfigPath = Path.Combine(Environment.BaseDirectory, "nlog.config"); #endif if (!File.Exists(nlogConfigPath)) { File.AppendAllText(nlogConfigPath, GetDefaultConfigString()); } XmlLoggingConfiguration configuration = new XmlLoggingConfiguration(nlogConfigPath); if (Environment.SystemConnectionStringSettings == null) { var needDeleteRules = configuration.LoggingRules.Where(r => r.Targets.Any(t => t is DatabaseTarget && ((DatabaseTarget)t).ConnectionString == null)).ToList(); foreach (var rule in needDeleteRules) { configuration.LoggingRules.Remove(rule); } configuration.RemoveTarget("dblog"); } else { var dblog = configuration.AllTargets.FirstOrDefault(t => t.Name == "dblog"); if (dblog != null) { DatabaseTarget dbTarget = (DatabaseTarget)dblog; dbTarget.ConnectionString = Environment.SystemConnectionStringSettings.ConnectionString; } } configuration.Install(new InstallationContext()); LogManager.Configuration = configuration; }
static LogCenter() { string nlogConfigPath = Path.Combine(Environment.BaseDirectory, "nlog.config"); if (!File.Exists(nlogConfigPath)) { File.AppendAllText(nlogConfigPath, NlogDefaultConfig); } XmlLoggingConfiguration configuration = new XmlLoggingConfiguration(nlogConfigPath); var connectString = Config.GetValue("connectString"); var logAndStatusTargets = configuration.AllTargets.Where(t => t.Name == "dblog" || t.Name == "dbstatus").ToList(); if (!string.IsNullOrEmpty(connectString)) { foreach (var logAndStatusTarget in logAndStatusTargets) { DatabaseTarget dbTarget = (DatabaseTarget)logAndStatusTarget; dbTarget.ConnectionString = connectString; } } else { var needDeleteRules = configuration.LoggingRules.Where(r => r.Targets.Any(t => t is DatabaseTarget && ((DatabaseTarget)t).ConnectionString == null)).ToList(); foreach (var rule in needDeleteRules) { configuration.LoggingRules.Remove(rule); } configuration.RemoveTarget("dblog"); configuration.RemoveTarget("dbstatus"); } configuration.Install(new InstallationContext()); LogManager.Configuration = configuration; }
public static void InitLogManager(bool forceInit = false) { if (!_init || forceInit) { string nlogConfigPath = Path.Combine(SpiderEnviroment.BaseDirectory, "nlog.config"); if (!File.Exists(nlogConfigPath)) { File.AppendAllText(nlogConfigPath, Resource.nlog); } XmlLoggingConfiguration configuration = new XmlLoggingConfiguration(nlogConfigPath); var connectString = Configuration.GetValue("logAndStatusConnectString"); var logAndStatusTargets = configuration.AllTargets.Where(t => t.Name == "dblog" || t.Name == "dbstatus").ToList(); if (!string.IsNullOrEmpty(connectString)) { foreach (var logAndStatusTarget in logAndStatusTargets) { DatabaseTarget dbTarget = (DatabaseTarget)logAndStatusTarget; dbTarget.ConnectionString = connectString; } } var needDeleteRules = configuration.LoggingRules.Where(r => r.Targets.Any(t => t is DatabaseTarget && ((DatabaseTarget)t).ConnectionString == null)).ToList(); foreach (var rule in needDeleteRules) { configuration.LoggingRules.Remove(rule); } configuration.Install(new InstallationContext()); LogManager.Configuration = configuration; _init = true; } }
static int Main(string[] args) { try { using (var context = new InstallationContext()) { context.LogOutput = Console.Out; XmlLoggingConfiguration configuration = null; bool uninstallMode = false; for (int i = 0; i < args.Length; ++i) { switch (args[i]) { case "-q": context.LogOutput = TextWriter.Null; break; case "-consolelog": context.LogOutput = Console.Out; break; case "-loglevel": context.LogLevel = LogLevel.FromString(args[++i]); break; case "-i": context.IgnoreFailures = true; break; case "-log": context.LogOutput = File.CreateText(args[++i]); break; case "-p": string arg = args[++i]; int p = arg.IndexOf('='); if (p < 0) { Console.WriteLine("Parameter '{0}' must be NAME=VALUE", arg); Usage(); return(1); } string paramName = arg.Substring(0, p); string paramValue = arg.Substring(p + 1); context.Parameters.Add(paramName, paramValue); break; case "-u": uninstallMode = true; break; case "-?": Usage(); return(0); default: if (args[i].StartsWith("-")) { Usage(); return(1); } configuration = new XmlLoggingConfiguration(args[i]); break; } } if (configuration == null) { Usage(); return(1); } if (uninstallMode) { configuration.Uninstall(context); } else { configuration.Install(context); } return(0); } } catch (Exception ex) { Console.WriteLine("EXCEPTION: {0}", ex); return(1); } }