예제 #1
0
        private static void ConfigureLogging()
        {
            var configBuilder = BuildConfiguration(null);
            StartUpConfiguration startUpConfiguration = configBuilder.Build().Get <StartUpConfiguration>();

            var logConfig = new LoggerConfiguration();

            foreach (var kv in startUpConfiguration.Logging.LogLevels)
            {
                var k = kv.Key;//.Replace('_', '.');
                if (k.Equals("default", StringComparison.OrdinalIgnoreCase) || k.Equals("*", StringComparison.OrdinalIgnoreCase))
                {
                    logConfig.MinimumLevel.Is(kv.Value);
                }
                else
                {
                    logConfig.MinimumLevel.Override(k, kv.Value);
                }
            }

            if (!string.IsNullOrWhiteSpace(startUpConfiguration.Logging.LogPath))
            {
                var path = PathHelper.GetFullPath(startUpConfiguration.Logging.LogPath);
                path      = Path.Combine(path, "log.txt");
                logConfig = logConfig.WriteTo.File(path, rollingInterval: RollingInterval.Day, retainedFileCountLimit: 31);
            }

            if (!IsService)
            {
                logConfig = logConfig.WriteTo.Console();
            }

            Log.Logger = logConfig.Enrich.FromLogContext()
                         .CreateLogger();
        }
예제 #2
0
        public MiddlerAgentService(ILogger <MiddlerAgentService> logger, IConfiguration configuration)
        {
            _logger = logger;
            _startUpConfiguration = configuration.Get <StartUpConfiguration>();

            Json.Converter.RegisterJsonConverter <ManagementGroupConverter>();
        }