Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
exception messaging in compact remains single line
boxing issue - prefer to deprecate options move to FormatterOptions
Improve *FormatterOptions names and Helper methods
  • Loading branch information
maryamariyan committed May 22, 2020
commit a84860f3b85517ac641a4084b86dfb6ab9640047
Original file line number Diff line number Diff line change
Expand Up @@ -9,29 +9,30 @@ namespace Microsoft.Extensions.Logging
{
public static partial class ConsoleLoggerExtensions
{
public static Microsoft.Extensions.Logging.ILoggingBuilder AddCompactConsoleLogFormatter(this Microsoft.Extensions.Logging.ILoggingBuilder builder, System.Action<Microsoft.Extensions.Logging.Console.CompactLogFormatterOptions> configure) { throw null; }
public static Microsoft.Extensions.Logging.ILoggingBuilder AddConsole(this Microsoft.Extensions.Logging.ILoggingBuilder builder) { throw null; }
public static Microsoft.Extensions.Logging.ILoggingBuilder AddConsole(this Microsoft.Extensions.Logging.ILoggingBuilder builder, System.Action<Microsoft.Extensions.Logging.Console.ConsoleLoggerOptions> configure) { throw null; }
public static Microsoft.Extensions.Logging.ILoggingBuilder AddConsole(this Microsoft.Extensions.Logging.ILoggingBuilder builder, string formatterName) { throw null; }
public static Microsoft.Extensions.Logging.ILoggingBuilder AddConsoleLogFormatter<TFormatter, TOptions>(this Microsoft.Extensions.Logging.ILoggingBuilder builder) where TFormatter : class, Microsoft.Extensions.Logging.Console.IConsoleLogFormatter where TOptions : class { throw null; }
public static Microsoft.Extensions.Logging.ILoggingBuilder AddConsoleLogFormatter<TFormatter, TOptions>(this Microsoft.Extensions.Logging.ILoggingBuilder builder, System.Action<TOptions> configure) where TFormatter : class, Microsoft.Extensions.Logging.Console.IConsoleLogFormatter where TOptions : class { throw null; }
public static Microsoft.Extensions.Logging.ILoggingBuilder AddDefaultConsoleLogFormatter(this Microsoft.Extensions.Logging.ILoggingBuilder builder, System.Action<Microsoft.Extensions.Logging.Console.DefaultConsoleLogFormatterOptions> configure) { throw null; }
public static Microsoft.Extensions.Logging.ILoggingBuilder AddJsonConsoleLogFormatter(this Microsoft.Extensions.Logging.ILoggingBuilder builder, System.Action<Microsoft.Extensions.Logging.Console.JsonConsoleLogFormatterOptions> configure) { throw null; }
public static Microsoft.Extensions.Logging.ILoggingBuilder AddSystemdConsoleLogFormatter(this Microsoft.Extensions.Logging.ILoggingBuilder builder, System.Action<Microsoft.Extensions.Logging.Console.SystemdConsoleLogFormatterOptions> configure) { throw null; }
public static Microsoft.Extensions.Logging.ILoggingBuilder UseCompactConsoleLogFormatter(this Microsoft.Extensions.Logging.ILoggingBuilder builder, System.Action<Microsoft.Extensions.Logging.Console.ColoredConsoleLogFormatterOptions> configure) { throw null; }
public static Microsoft.Extensions.Logging.ILoggingBuilder UseDefaultConsoleLogFormatter(this Microsoft.Extensions.Logging.ILoggingBuilder builder, System.Action<Microsoft.Extensions.Logging.Console.ColoredConsoleLogFormatterOptions> configure) { throw null; }
public static Microsoft.Extensions.Logging.ILoggingBuilder UseJsonConsoleLogFormatter(this Microsoft.Extensions.Logging.ILoggingBuilder builder, System.Action<Microsoft.Extensions.Logging.Console.JsonConsoleLogFormatterOptions> configure) { throw null; }
public static Microsoft.Extensions.Logging.ILoggingBuilder UseSystemdConsoleLogFormatter(this Microsoft.Extensions.Logging.ILoggingBuilder builder, System.Action<Microsoft.Extensions.Logging.Console.BasicConsoleLogFormatterOptions> configure) { throw null; }
}
}
namespace Microsoft.Extensions.Logging.Console
{
public abstract partial class BaseOptions
public partial class BasicConsoleLogFormatterOptions
{
protected BaseOptions() { }
public BasicConsoleLogFormatterOptions() { }
public bool IncludeScopes { get { throw null; } set { } }
public Microsoft.Extensions.Logging.LogLevel LogToStandardErrorThreshold { get { throw null; } set { } }
public string TimestampFormat { get { throw null; } set { } }
public bool UseUtcTimestamp { get { throw null; } set { } }
}
public partial class CompactLogFormatterOptions : Microsoft.Extensions.Logging.Console.BaseOptions
public partial class ColoredConsoleLogFormatterOptions : Microsoft.Extensions.Logging.Console.BasicConsoleLogFormatterOptions
{
public CompactLogFormatterOptions() { }
public ColoredConsoleLogFormatterOptions() { }
public bool DisableColors { get { throw null; } set { } }
}
public static partial class ConsoleLogFormatterNames
Expand All @@ -46,14 +47,22 @@ public enum ConsoleLoggerFormat
Default = 0,
Systemd = 1,
}
public partial class ConsoleLoggerOptions : Microsoft.Extensions.Logging.Console.BaseOptions
public partial class ConsoleLoggerOptions
{
public ConsoleLoggerOptions() { }
[System.ObsoleteAttribute("ConsoleLoggerOptions.DisableColors has been deprecated. Please use DefaultConsoleLogFormatterOptions.DisableColors instead.", false)]
public bool DisableColors { get { throw null; } set { } }
[System.ObsoleteAttribute("ConsoleLoggerOptions.Format has been deprecated. Please use ConsoleLoggerOptions.FormatterName instead.", false)]
public Microsoft.Extensions.Logging.Console.ConsoleLoggerFormat Format { get { throw null; } set { } }
public string FormatterName { get { throw null; } set { } }
[System.ObsoleteAttribute("ConsoleLoggerOptions.IncludeScopes has been deprecated..", false)]
public bool IncludeScopes { get { throw null; } set { } }
[System.ObsoleteAttribute("ConsoleLoggerOptions.LogToStandardErrorThreshold has been deprecated..", false)]
public Microsoft.Extensions.Logging.LogLevel LogToStandardErrorThreshold { get { throw null; } set { } }
[System.ObsoleteAttribute("ConsoleLoggerOptions.TimestampFormat has been deprecated..", false)]
public string TimestampFormat { get { throw null; } set { } }
[System.ObsoleteAttribute("ConsoleLoggerOptions.UseUtcTimestamp has been deprecated..", false)]
public bool UseUtcTimestamp { get { throw null; } set { } }
}
[Microsoft.Extensions.Logging.ProviderAliasAttribute("Console")]
public partial class ConsoleLoggerProvider : Microsoft.Extensions.Logging.ILoggerProvider, Microsoft.Extensions.Logging.ISupportExternalScope, System.IDisposable
Expand All @@ -72,18 +81,12 @@ public readonly partial struct ConsoleMessage
public readonly System.ConsoleColor? Foreground;
public ConsoleMessage(string message, System.ConsoleColor? background = default(System.ConsoleColor?), System.ConsoleColor? foreground = default(System.ConsoleColor?)) { throw null; }
}
public partial class DefaultConsoleLogFormatterOptions : Microsoft.Extensions.Logging.Console.BaseOptions
{
public DefaultConsoleLogFormatterOptions() { }
public bool DisableColors { get { throw null; } set { } }
}
public partial interface IConsoleLogFormatter
{
string Name { get; }
BaseOptions Options { get; }
Microsoft.Extensions.Logging.Console.LogMessageEntry Format<TState>(Microsoft.Extensions.Logging.LogLevel logLevel, string logName, int eventId, TState state, System.Exception exception, System.Func<TState, System.Exception, string> formatter, Microsoft.Extensions.Logging.IExternalScopeProvider scopeProvider);
}
public partial class JsonConsoleLogFormatterOptions : Microsoft.Extensions.Logging.Console.BaseOptions
public partial class JsonConsoleLogFormatterOptions : Microsoft.Extensions.Logging.Console.BasicConsoleLogFormatterOptions
{
public JsonConsoleLogFormatterOptions() { }
public System.Text.Json.JsonSerializerOptions JsonSerializerOptions { get { throw null; } set { } }
Expand All @@ -95,8 +98,4 @@ public readonly partial struct LogMessageEntry
public readonly Microsoft.Extensions.Logging.Console.ConsoleMessage[] Messages;
public LogMessageEntry(Microsoft.Extensions.Logging.Console.ConsoleMessage[] messages, bool logAsError = false) { throw null; }
}
public partial class SystemdConsoleLogFormatterOptions : Microsoft.Extensions.Logging.Console.BaseOptions
{
public SystemdConsoleLogFormatterOptions() { }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@ public static ILoggingBuilder AddConsole(this ILoggingBuilder builder)
builder.AddConfiguration();

builder.AddConsoleLogFormatter<JsonConsoleLogFormatter, JsonConsoleLogFormatterOptions>();
builder.AddConsoleLogFormatter<SystemdConsoleLogFormatter, SystemdConsoleLogFormatterOptions>();
builder.AddConsoleLogFormatter<CompactLogFormatter, CompactLogFormatterOptions>();
builder.AddConsoleLogFormatter<DefaultConsoleLogFormatter, DefaultConsoleLogFormatterOptions>();
builder.AddConsoleLogFormatter<SystemdConsoleLogFormatter, BasicConsoleLogFormatterOptions>();
builder.AddConsoleLogFormatter<CompactLogFormatter, ColoredConsoleLogFormatterOptions>();
builder.AddConsoleLogFormatter<DefaultConsoleLogFormatter, ColoredConsoleLogFormatterOptions>();

builder.Services.TryAddEnumerable(ServiceDescriptor.Singleton<ILoggerProvider, ConsoleLoggerProvider>());
LoggerProviderOptions.RegisterProviderOptions<ConsoleLoggerOptions, ConsoleLoggerProvider>(builder.Services);
Expand All @@ -57,8 +57,24 @@ public static ILoggingBuilder AddConsole(this ILoggingBuilder builder, Action<Co

return builder;
}

public static ILoggingBuilder AddCompactConsoleLogFormatter(this ILoggingBuilder builder, Action<CompactLogFormatterOptions> configure)

/// <summary>
/// Adds a console logger named 'Console' to the factory.
/// </summary>
/// <param name="builder">The <see cref="ILoggingBuilder"/> to use.</param>
/// <param name="formatterName"></param>
public static ILoggingBuilder AddConsole(this ILoggingBuilder builder, string formatterName)
{
if (formatterName == null)
{
throw new ArgumentNullException(nameof(formatterName));
}

Action<ConsoleLoggerOptions> configure = (options) => { options.FormatterName = formatterName; };
return builder.AddConsole(configure);
}

public static ILoggingBuilder UseCompactConsoleLogFormatter(this ILoggingBuilder builder, Action<ColoredConsoleLogFormatterOptions> configure)
{
if (configure == null)
{
Expand All @@ -68,11 +84,14 @@ public static ILoggingBuilder AddCompactConsoleLogFormatter(this ILoggingBuilder
builder.AddConsole();
builder.Services.Configure(configure);

Action<ConsoleLoggerOptions> configureFormatter = (options) => { options.FormatterName = ConsoleLogFormatterNames.Compact; };
builder.Services.Configure(configureFormatter);

return builder;
}

public static ILoggingBuilder AddDefaultConsoleLogFormatter(this ILoggingBuilder builder, Action<DefaultConsoleLogFormatterOptions> configure)
{
public static ILoggingBuilder UseDefaultConsoleLogFormatter(this ILoggingBuilder builder, Action<ColoredConsoleLogFormatterOptions> configure)
{
if (configure == null)
{
throw new ArgumentNullException(nameof(configure));
Expand All @@ -81,10 +100,13 @@ public static ILoggingBuilder AddDefaultConsoleLogFormatter(this ILoggingBuilder
builder.AddConsole();
builder.Services.Configure(configure);

Action<ConsoleLoggerOptions> configureFormatter = (options) => { options.FormatterName = ConsoleLogFormatterNames.Default; };
builder.Services.Configure(configureFormatter);

return builder;
}

public static ILoggingBuilder AddJsonConsoleLogFormatter(this ILoggingBuilder builder, Action<JsonConsoleLogFormatterOptions> configure)
public static ILoggingBuilder UseJsonConsoleLogFormatter(this ILoggingBuilder builder, Action<JsonConsoleLogFormatterOptions> configure)
{
if (configure == null)
{
Expand All @@ -94,10 +116,13 @@ public static ILoggingBuilder AddJsonConsoleLogFormatter(this ILoggingBuilder bu
builder.AddConsole();
builder.Services.Configure(configure);

Action<ConsoleLoggerOptions> configureFormatter = (options) => { options.FormatterName = ConsoleLogFormatterNames.Json; };
builder.Services.Configure(configureFormatter);

return builder;
}

public static ILoggingBuilder AddSystemdConsoleLogFormatter(this ILoggingBuilder builder, Action<SystemdConsoleLogFormatterOptions> configure)
public static ILoggingBuilder UseSystemdConsoleLogFormatter(this ILoggingBuilder builder, Action<BasicConsoleLogFormatterOptions> configure)
{
if (configure == null)
{
Expand All @@ -107,6 +132,9 @@ public static ILoggingBuilder AddSystemdConsoleLogFormatter(this ILoggingBuilder
builder.AddConsole();
builder.Services.Configure(configure);

Action<ConsoleLoggerOptions> configureFormatter = (options) => { options.FormatterName = ConsoleLogFormatterNames.Systemd; };
builder.Services.Configure(configureFormatter);

return builder;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ namespace Microsoft.Extensions.Logging.Console
/// <summary>
/// Options for a <see cref="ConsoleLogger"/>.
/// </summary>
public class ConsoleLoggerOptions : BaseOptions
public class ConsoleLoggerOptions
{
[System.ObsoleteAttribute("ConsoleLoggerOptions.DisableColors has been deprecated. Please use DefaultConsoleLogFormatterOptions.DisableColors instead.", false)]
public bool DisableColors { get; set; }
Expand Down Expand Up @@ -44,16 +44,17 @@ public ConsoleLoggerFormat Format
///
/// </summary>
public string FormatterName { get; set; }
}

public abstract class BaseOptions
{
public bool IncludeScopes { get; set; }

[System.ObsoleteAttribute("ConsoleLoggerOptions.IncludeScopes has been deprecated..", false)]
public bool IncludeScopes { get; set; }

[System.ObsoleteAttribute("ConsoleLoggerOptions.LogToStandardErrorThreshold has been deprecated..", false)]
public Microsoft.Extensions.Logging.LogLevel LogToStandardErrorThreshold { get; set; }


[System.ObsoleteAttribute("ConsoleLoggerOptions.TimestampFormat has been deprecated..", false)]
public string TimestampFormat { get; set; }


[System.ObsoleteAttribute("ConsoleLoggerOptions.UseUtcTimestamp has been deprecated..", false)]
public bool UseUtcTimestamp { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -76,15 +76,27 @@ private void ReloadLoggerOptions(ConsoleLoggerOptions options)
}
}

private void UpdateFormatterOptions(IConsoleLogFormatter formatter, ConsoleLoggerOptions fromOptions)
private void UpdateFormatterOptions(IConsoleLogFormatter formatter, ConsoleLoggerOptions deprecatedFromOptions)
{
formatter.Options.IncludeScopes = fromOptions.IncludeScopes;
formatter.Options.LogToStandardErrorThreshold = fromOptions.LogToStandardErrorThreshold;
formatter.Options.TimestampFormat = fromOptions.TimestampFormat;
formatter.Options.UseUtcTimestamp = fromOptions.UseUtcTimestamp;
// kept for deprecated api:
if (formatter is DefaultConsoleLogFormatter dFormatter)
dFormatter.FormatterOptions.DisableColors = fromOptions.DisableColors;
if (deprecatedFromOptions.FormatterName != null)
return;
// kept for deprecated apis:
if (formatter is DefaultConsoleLogFormatter defaultFormatter)
{
defaultFormatter.FormatterOptions.DisableColors = deprecatedFromOptions.DisableColors;
defaultFormatter.FormatterOptions.IncludeScopes = deprecatedFromOptions.IncludeScopes;
defaultFormatter.FormatterOptions.LogToStandardErrorThreshold = deprecatedFromOptions.LogToStandardErrorThreshold;
defaultFormatter.FormatterOptions.TimestampFormat = deprecatedFromOptions.TimestampFormat;
defaultFormatter.FormatterOptions.UseUtcTimestamp = deprecatedFromOptions.UseUtcTimestamp;
}
else
if (formatter is SystemdConsoleLogFormatter systemdFormatter)
{
systemdFormatter.FormatterOptions.IncludeScopes = deprecatedFromOptions.IncludeScopes;
systemdFormatter.FormatterOptions.LogToStandardErrorThreshold = deprecatedFromOptions.LogToStandardErrorThreshold;
systemdFormatter.FormatterOptions.TimestampFormat = deprecatedFromOptions.TimestampFormat;
systemdFormatter.FormatterOptions.UseUtcTimestamp = deprecatedFromOptions.UseUtcTimestamp;
}
}

/// <inheritdoc />
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.

using System;
using System.Text;

namespace Microsoft.Extensions.Logging.Console
{
public class BasicConsoleLogFormatterOptions
{
public BasicConsoleLogFormatterOptions() { }

public bool IncludeScopes { get; set; }

public Microsoft.Extensions.Logging.LogLevel LogToStandardErrorThreshold { get; set; }

public string TimestampFormat { get; set; }

public bool UseUtcTimestamp { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@

namespace Microsoft.Extensions.Logging.Console
{
public class CompactLogFormatterOptions : BaseOptions
public class ColoredConsoleLogFormatterOptions : BasicConsoleLogFormatterOptions
{
public CompactLogFormatterOptions() { }
public ColoredConsoleLogFormatterOptions() { }

/// <summary>
/// Disables colors when <see langword="true" />.
Expand Down
Loading