示例#1
0
        /// <summary>
        /// <para>Configures common static providers with values from given <paramref name="environment"/>.</para>
        /// <para>Following static providers are configured:</para>
        /// <list type="bullet">
        ///     <item><description><see cref="LogProvider"/></description></item>
        ///     <item><description><see cref="TracerProvider"/></description></item>
        ///     <item><description><see cref="HerculesSinkProvider"/></description></item>
        ///     <item><description><see cref="DatacentersProvider"/></description></item>
        ///     <item><description>ClusterConfigClient.<see cref="ClusterConfigClient.Default"/> (if not configured earlier)</description></item>
        ///     <item><description>ConfigurationProvider.<see cref="ConfigurationProvider.Default"/> (if not configured earlier)</description></item>
        /// </list>
        /// </summary>
        public static void Configure([NotNull] IVostokHostingEnvironment environment)
        {
            if (environment == null)
            {
                throw new ArgumentNullException(nameof(environment));
            }

            ClusterClientDefaults.ClientApplicationName = environment.ApplicationIdentity.FormatServiceName();

            LogProvider.Configure(environment.Log, true);
            TracerProvider.Configure(environment.Tracer, true);
            HerculesSinkProvider.Configure(environment.HerculesSink, true);
            DatacentersProvider.Configure(environment.Datacenters, true);

            var log = environment.Log.ForContext(typeof(StaticProvidersHelper));

            if (environment.ClusterConfigClient is ClusterConfigClient clusterConfigClient)
            {
                if (!ClusterConfigClient.TrySetDefaultClient(clusterConfigClient) && !ReferenceEquals(ClusterConfigClient.Default, environment.ClusterConfigClient))
                {
                    log.Warn("ClusterConfigClient.Default has already been configured.");
                }
            }

            if (environment.ConfigurationProvider is ConfigurationProvider configurationProvider && !ReferenceEquals(ConfigurationProvider.Default, environment.ConfigurationProvider))
            {
                if (!ConfigurationProvider.TrySetDefault(configurationProvider))
                {
                    log.Warn("ConfigurationProvider.Default has already been configured.");
                }
            }
        }
示例#2
0
        public Program(string[] args)
        {
            _consoleLock = new object();
            LogProvider.GlobalLogWrite += LogProviderOnGlobalLogWrite;
            if (args.Length == 2)
            {
                FpmfArchiveIO archiveIO = new FpmfArchiveIO();
                FpmfArchive   archive   = archiveIO.Open(args[0]);
                archiveIO.Save(archive, args[1]);
                return;
            }

            if (args.Length == 1)
            {
                FpmfArchiveIO archiveIO = new FpmfArchiveIO();
                archiveIO.OpenWoItm(args[0]);
                return;
            }


            NecSetting setting = new NecSetting();

            LogProvider.Configure <NecLogger>(setting);

            NecServer server = new NecServer(setting);

            server.Start();
            Console.WriteLine("Press any key to exit..");
            Console.ReadKey();
            server.Stop();
        }
示例#3
0
        public static void SetupForTests()
        {
            var log = new ConsoleLog(new ConsoleLogSettings {
                OutputTemplate = OutputTemplate
            }).WithMinimumLevel(LogLevel.Debug);

            LogProvider.Configure(log, true);
        }
示例#4
0
        public void GlobalSetup()
        {
            var outputTemplate
                = OutputTemplate.Parse("{Timestamp:HH:mm:ss.fff} {Level:u5} {sourceContext:w}{Message}{NewLine}{Exception}");
            var log = new ConsoleLog(new ConsoleLogSettings {
                OutputTemplate = outputTemplate
            }).WithMinimumLevel(LogLevel.Debug);

            LogProvider.Configure(log);
        }
示例#5
0
        public static void ConfigureLogging()
        {
            var configuration = ApplicationConfiguration.Read <UlearnConfiguration>();
            var log           = LoggerSetup.Setup(configuration.HostLog, configuration.GraphiteServiceName, false)
                                .WithProperty("user", () => new HttpContextUserNameProvider().ToString())
                                .WithProperty("address", () => new HttpContextAddressProvider().ToString());

            Log.Logger = new LoggerConfiguration()
                         .WriteTo.Sink(new VostokSink(log))
                         .CreateLogger();
            SerilogWebClassic.Configure(cfg => cfg.UseLogger(Log.Logger));
            LogProvider.Configure(log);
        }
示例#6
0
        public static void Init()
        {
            var totalFileLog = CreateFileLog("TotalLog")
                               .WithMinimumLevel(LogLevel.Info)
                               .WithMinimumLevelForSourceContexts(LogLevel.Warn, "HandlerTask", "CassandraDistributedTaskQueue")
                               .WithMinimumLevelForSourceContext("HandlerManager", LogLevel.Warn);

            var errorFileLog = CreateFileLog("ErrorLog")
                               .WithMinimumLevel(LogLevel.Error);

            var consoleLog = new ConsoleLog().WithMinimumLevel(LogLevel.Info);
            var defaultLog = new CompositeLog(totalFileLog, errorFileLog, consoleLog).WithThreadName();

            LogProvider.Configure(defaultLog, canOverwrite: true);
        }
        private static ILog SetUpLogging()
        {
            LoggingConfigurationHelpers.SetupUnhandledExceptionLogging();

            defaultLog = new CompositeLog(CreateConsoleLog(), CreateFileLog())
                         .WithThreadName()
                         .WithMinimumLevel(LogLevel.Info)
                         .WithMinimumLevelForSourceContext("CassandraThriftClient", LogLevel.Warn)
                         .WithMinimumLevelForSourceContexts(LogLevel.Warn, "CassandraDistributedTaskQueue", "HandlerTask")
                         .WithMinimumLevelForSourceContexts(LogLevel.Warn, "CassandraDistributedTaskQueue", "HandlerManager");

            LogProvider.Configure(defaultLog, canOverwrite: false);

            return(defaultLog);
        }
示例#8
0
        public static async Task Main()
        {
            LogProvider.Configure(GetLog());

            var fixerRunner = new FixerRunner();

            await fixerRunner.RunAsync(new Settings
            {
                Log4NetFileName = "log4net.config",
                RootNamespaceForNinjectConfiguring = "Tolltech",
                SolutionPath = "C:\\_work\\billy\\Mega.sln",
            },
                                       new[]
            {
                new DummyFixer()
            });
        }
示例#9
0
        private static void InitLogger()
        {
            var logPath         = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "logs", "{RollingSuffix}.log");
            var fileLogSettings = new FileLogSettings
            {
                FilePath        = logPath,
                RollingStrategy = new RollingStrategyOptions
                {
                    MaxFiles = 0,
                    Type     = RollingStrategyType.Hybrid,
                    Period   = RollingPeriod.Day,
                    MaxSize  = 4 * 1073741824L,
                },
                OutputTemplate = OutputTemplate.Parse("{Timestamp:HH:mm:ss.fff} {Level:u5} {sourceContext:w}{Message}{NewLine}{Exception}")
            };
            var fileLog = new FileLog(fileLogSettings).WithMinimumLevel(LogLevel.Info);

            LogProvider.Configure(fileLog);
        }
示例#10
0
        /// <summary>
        /// <para>Configures common static providers with values from given <paramref name="environment"/>.</para>
        /// <para>Following static providers are configured:</para>
        /// <list type="bullet">
        ///     <item><description><see cref="LogProvider"/></description></item>
        ///     <item><description><see cref="TracerProvider"/></description></item>
        ///     <item><description><see cref="HerculesSinkProvider"/></description></item>
        ///     <item><description><see cref="DatacentersProvider"/></description></item>
        ///     <item><description><see cref="MetricContextProvider"/></description></item>
        ///     <item><description>ClusterConfigClient.<see cref="ClusterConfigClient.Default"/> (if not configured earlier)</description></item>
        ///     <item><description>ConfigurationProvider.<see cref="ConfigurationProvider.Default"/> (if not configured earlier)</description></item>
        /// </list>
        /// </summary>
        public static void Configure([NotNull] IVostokHostingEnvironment environment)
        {
            if (environment == null)
            {
                throw new ArgumentNullException(nameof(environment));
            }

            ClusterClientDefaults.ClientApplicationName = environment.ServiceBeacon is ServiceBeacon beacon
                ? beacon.ReplicaInfo.Application
                : environment.ApplicationIdentity.FormatServiceName();

            LogProvider.Configure(environment.Log, true);
            TracerProvider.Configure(environment.Tracer, true);
            HerculesSinkProvider.Configure(environment.HerculesSink, true);
            DatacentersProvider.Configure(environment.Datacenters, true);
            MetricContextProvider.Configure(environment.Metrics.Root, true);

            FlowingContext.Configuration.ErrorCallback = (errorMessage, error) => environment.Log.ForContext(typeof(FlowingContext)).Error(error, errorMessage);

            var log = environment.Log.ForContext(typeof(StaticProvidersHelper));

            if (environment.ClusterConfigClient is ClusterConfigClient clusterConfigClient)
            {
                if (!ClusterConfigClient.TrySetDefaultClient(clusterConfigClient) && !ReferenceEquals(ClusterConfigClient.Default, environment.ClusterConfigClient))
                {
                    log.Warn("ClusterConfigClient.Default has already been configured.");
                }
            }

            if (environment.ConfigurationProvider is ConfigurationProvider configurationProvider && !ReferenceEquals(ConfigurationProvider.Default, environment.ConfigurationProvider))
            {
                if (!ConfigurationProvider.TrySetDefault(configurationProvider))
                {
                    log.Warn("ConfigurationProvider.Default has already been configured.");
                }
            }
        }
示例#11
0
        public MhfServer(MhfSetting setting)
        {
            Setting = new MhfSetting(setting);

            LogProvider.Configure <MhfLogger>(Setting);
            _logger = LogProvider.Logger <MhfLogger>(this);

            Instances = new InstanceGenerator();
            Clients   = new ClientLookup();
            Router    = new PacketRouter();
            Database  = new MhfDatabaseBuilder().Build(Setting.DatabaseSetting);

            _authConsumer = new QueueConsumer(Setting, Setting.ServerSocketSettings);
            _authConsumer.ClientDisconnected += AuthClientDisconnected;
            _authServer = new AsyncEventServer(
                Setting.ListenIpAddress,
                Setting.AuthServerPort,
                _authConsumer,
                Setting.ServerSocketSettings
                );

            _lobbyConsumer = new QueueConsumer(Setting, Setting.ServerSocketSettings);
            _lobbyConsumer.ClientDisconnected += LobbyClientDisconnected;
            _lobbyServer = new AsyncEventServer(
                Setting.ListenIpAddress,
                Setting.LobbyServerPort,
                _lobbyConsumer,
                Setting.ServerSocketSettings
                );

            _webServer = new WebServer(Setting, new KestrelWebServer(Setting));

            WebFileProvider = new PhysicalFileProvider(Setting.WebSetting.WebFolder);

            LoadPacketHandler();
            LoadWebRoutes();
        }
示例#12
0
 public void OneTimeSetUp()
 {
     ThreadPoolUtility.Setup();
     LogProvider.Configure(new SynchronousConsoleLog());
 }
        public override CommandResultType Handle(ConsoleParameter parameter)
        {
            if (_server == null)
            {
                SettingProvider settingProvider = new SettingProvider();
                NecSetting      setting         = settingProvider.Load <NecSetting>(SETTING_FILE);
                if (setting == null)
                {
                    Logger.Info($"No `{SETTING_FILE}` file found, creating new");
                    setting = new NecSetting();
                    settingProvider.Save(setting, SETTING_FILE);
                }
                else
                {
                    Logger.Info($"Loaded Setting from: {settingProvider.GetSettingsPath(SETTING_FILE)}");
                }

                SettingProvider secretsProvider = new SettingProvider(setting.secretsFolder);
                NecSecret       secret          = secretsProvider.Load <NecSecret>(SECRET_FILE);
                if (secret == null)
                {
                    Logger.Info($"No `{SECRET_FILE}` file found, creating new");
                    secret = new NecSecret();
                    secretsProvider.Save(secret, SECRET_FILE);
                }
                else
                {
                    Logger.Info($"Loaded Secrets from: {secretsProvider.GetSettingsPath(SECRET_FILE)}");
                }

                setting.discordBotToken           = secret.discordBotToken;
                setting.databaseSettings.password = secret.databasePassword;

                LogProvider.Configure <NecLogger>(setting);
                _server = new NecServer(setting);
            }

            if (parameter.arguments.Contains("start"))
            {
                _server.Start();
                if (_service)
                {
                    while (_server.running)
                    {
                        Thread.Sleep(TimeSpan.FromMinutes(5));
                    }

                    return(CommandResultType.Exit);
                }

                return(CommandResultType.Completed);
            }

            if (parameter.arguments.Contains("stop"))
            {
                _server.Stop();
                return(CommandResultType.Completed);
            }

            return(CommandResultType.Continue);
        }