Ejemplo n.º 1
0
        public virtual Dictionary <string, object> DoInvoke(IDynamicLoggerProvider provider, LoggersChangeRequest request)
        {
            Dictionary <string, object> result = new Dictionary <string, object>();

            if (request != null)
            {
                SetLogLevel(provider, request.Name, request.Level);
            }
            else
            {
                AddLevels(result);
                var configuration = GetLoggerConfigurations(provider);
                Dictionary <string, LoggerLevels> loggers = new Dictionary <string, LoggerLevels>();
                foreach (var c in configuration.OrderBy(entry => entry.Name))
                {
                    _logger.LogTrace("Adding " + c.ToString());
                    LoggerLevels lv = new LoggerLevels(c.ConfiguredLevel, c.EffectiveLevel);
                    loggers.Add(c.Name, lv);
                }

                result.Add("loggers", loggers);
            }

            return(result);
        }
        private ILoggerFactory GetLoggerFactory(IConfiguration configuration)
        {
            var loggerFactory = DependencyContainer.GetService <ILoggerFactory>(false);

            if (loggerFactory == null)
            {
                var serviceProvider = new ServiceCollection()
                                      .AddLogging(builder => builder
                                                  .AddDynamicConsole())
                                      .BuildServiceProvider();

                dynamicLoggerProvider = serviceProvider.GetRequiredService <IDynamicLoggerProvider>();
                return(serviceProvider.GetRequiredService <ILoggerFactory>());
            }

            dynamicLoggerProvider = DependencyContainer.GetService <IDynamicLoggerProvider>(false);

            if (dynamicLoggerProvider == null)
            {
                dynamicLoggerProvider = GetDynamicLoggerProvider(configuration);
                loggerFactory.AddProvider(dynamicLoggerProvider);
            }

            return(loggerFactory);
        }
Ejemplo n.º 3
0
        public virtual ICollection <ILoggerConfiguration> GetLoggerConfigurations(IDynamicLoggerProvider provider)
        {
            if (provider == null)
            {
                _logger?.LogInformation("Unable to access Cloud Foundry Logging provider, log configuration unavailable");
                return(new List <ILoggerConfiguration>());
            }

            return(provider.GetLoggerConfigurations());
        }
Ejemplo n.º 4
0
        public virtual void SetLogLevel(IDynamicLoggerProvider provider, string name, string level)
        {
            if (provider == null)
            {
                _logger?.LogInformation("Unable to access Cloud Foundry Logging provider, log level not changed");
                return;
            }

            if (string.IsNullOrEmpty(name))
            {
                throw new ArgumentException(nameof(name));
            }

            provider.SetLogLevel(name, LoggerLevels.MapLogLevel(level));
        }
Ejemplo n.º 5
0
        public void Configuration(IAppBuilder app)
        {
            var builder = new ConfigurationBuilder();

            var appSettings = new Dictionary <string, string>(OwinTestHelpers.Appsettings)
            {
            };

            builder.AddInMemoryCollection(appSettings);
            builder.AddEnvironmentVariables();
            var config = builder.Build();

            LoggerProvider = new DynamicLoggerProvider(new ConsoleLoggerSettings().FromConfiguration(config));
            LoggerFactory  = new LoggerFactory();
            LoggerFactory.AddProvider(LoggerProvider);

            app.UseLoggersActuator(config, LoggerProvider, LoggerFactory);
        }
Ejemplo n.º 6
0
 public TestLoggersEndpoint(ILoggersOptions options, IDynamicLoggerProvider loggerProvider = null, ILogger <LoggersEndpoint> logger = null)
     : base(options, loggerProvider, logger)
 {
 }
Ejemplo n.º 7
0
 public LoggersEndpoint(ILoggersOptions options, IDynamicLoggerProvider cloudFoundryLoggerProvider, ILogger <LoggersEndpoint> logger = null)
     : base(options)
 {
     _cloudFoundryLoggerProvider = cloudFoundryLoggerProvider;
     _logger = logger;
 }
Ejemplo n.º 8
0
 public SerilogDynamicLoggerFactory(IDynamicLoggerProvider provider)
 {
     _provider = provider;
 }