private static Logger CreateLogger([NotNull] IManifestHelper manifest, CreateLoggerOptions createLoggerOptions) { var logName = string.IsNullOrWhiteSpace(createLoggerOptions.Name) ? manifest.Key : $"{manifest.Key}.{createLoggerOptions.Name}"; var outputs = new List <ILogOutput>(); if (createLoggerOptions.File > LogLevel.None) { outputs.Add( new FileOutput(Path.Combine(BasePluginLogPath, $"{logName}.log"), createLoggerOptions.File) ); } if (createLoggerOptions.Console > LogLevel.None) { outputs.Add(new ConciseConsoleOutput(createLoggerOptions.Console)); } var immutableOutputs = outputs.ToImmutableList(); Debug.Assert(immutableOutputs != null, $"{nameof(immutableOutputs)} != null"); return(new Logger( new LogConfiguration { LogLevel = LogConfiguration.Default.LogLevel, Outputs = immutableOutputs } )); }
/// <inheritdoc /> public Logger CreateLogger(CreateLoggerOptions createLoggerOptions) => CreateLogger(mManifest, createLoggerOptions);