private bool ChangeLoggerLevel(HttpRequest request, string path) { var epPath = new PathString(path); if (request.Path.StartsWithSegments(epPath, out var remaining) && remaining.HasValue) { var loggerName = remaining.Value.TrimStart('/'); var change = ((LoggersEndpoint)_endpoint).DeserializeRequest(request.Body); change.TryGetValue("configuredLevel", out var level); _logger?.LogDebug("Change Request: {0}, {1}", loggerName, level ?? "RESET"); if (!string.IsNullOrEmpty(loggerName)) { if (!string.IsNullOrEmpty(level) && LoggerLevels.MapLogLevel(level) == null) { _logger?.LogDebug("Invalid LogLevel specified: {0}", level); } else { var changeReq = new LoggersChangeRequest(loggerName, level); HandleRequest(changeReq); return(true); } } } return(false); }
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)); }