public LoggingSettings(string serviceName, bool printToConsole, LogLevel defaultLevel = null, LogLevel defaultRavenDBLevel = null, string logPath = null) { PrintToConsole = printToConsole; LoggingLevel = InitializeLevel("LogLevel", defaultLevel ?? LogLevel.Info); RavenDBLogLevel = InitializeLevel("RavenDBLogLevel", defaultRavenDBLevel ?? LogLevel.Warn); LogPath = Environment.ExpandEnvironmentVariables(ConfigFileSettingsReader <string> .Read("LogPath", logPath ?? DefaultLogPathForInstance(serviceName))); }
LogLevel InitializeLevel(string key, LogLevel defaultLevel) { if (!ConfigFileSettingsReader <string> .TryRead("ServiceControl.Audit", key, out var levelText)) { return(defaultLevel); } try { return(LogLevel.FromString(levelText)); } catch { InternalLogger.Warn($"Failed to parse {key} setting. Defaulting to {defaultLevel.Name}."); return(defaultLevel); } }