Esempio n. 1
0
        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
            }
                       ));
        }
Esempio n. 2
0
 /// <inheritdoc />
 public Logger CreateLogger(CreateLoggerOptions createLoggerOptions) =>
 CreateLogger(mManifest, createLoggerOptions);