Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
0
        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;
        }
Exemplo n.º 3
0
        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;
            }
        }
Exemplo n.º 4
0
        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);
            }
        }