Skip to content
This repository has been archived by the owner on Oct 2, 2024. It is now read-only.

Commit

Permalink
Include HttpContextBase in LogAtLevel override, Change duration to Ti…
Browse files Browse the repository at this point in the history
…meSpan
  • Loading branch information
kieran.sasse authored and kieran.sasse committed Mar 10, 2021
1 parent 29fc3e8 commit c6da797
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 19 deletions.
18 changes: 9 additions & 9 deletions src/SerilogWeb.Classic/Classic/ApplicationLifecycleModule.cs
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public static ILogger Logger
set => SerilogWebClassic.Configuration = new SerilogWebClassicConfiguration(
isEnabled: Config.IsEnabled,
requestLoggingLevel: Config.RequestLoggingLevel,
requestElapsedMSLogLevel: Config.RequestElapsedMSLogLevel,
requestContextLogLevel: Config.RequestContextLogLevel,
requestFilter: Config.RequestFilter,
formDataLoggingLevel: Config.FormDataLoggingLevel,
customLogger: value,
Expand Down Expand Up @@ -73,7 +73,7 @@ public static Func<HttpContextBase, bool> RequestFilter
SerilogWebClassic.Configuration = new SerilogWebClassicConfiguration(
isEnabled: Config.IsEnabled,
requestLoggingLevel: Config.RequestLoggingLevel,
requestElapsedMSLogLevel: Config.RequestElapsedMSLogLevel,
requestContextLogLevel: Config.RequestContextLogLevel,
requestFilter: value,
formDataLoggingLevel: Config.FormDataLoggingLevel,
customLogger: Config.CustomLogger,
Expand Down Expand Up @@ -101,7 +101,7 @@ public static LogPostedFormDataOption LogPostedFormData
set => SerilogWebClassic.Configuration = new SerilogWebClassicConfiguration(
isEnabled: Config.IsEnabled,
requestLoggingLevel: Config.RequestLoggingLevel,
requestElapsedMSLogLevel: Config.RequestElapsedMSLogLevel,
requestContextLogLevel: Config.RequestContextLogLevel,
requestFilter: Config.RequestFilter,
formDataLoggingLevel: Config.FormDataLoggingLevel,
customLogger: Config.CustomLogger,
Expand All @@ -123,7 +123,7 @@ public static bool FilterPasswordsInFormData
set => SerilogWebClassic.Configuration = new SerilogWebClassicConfiguration(
isEnabled: Config.IsEnabled,
requestLoggingLevel: Config.RequestLoggingLevel,
requestElapsedMSLogLevel: Config.RequestElapsedMSLogLevel,
requestContextLogLevel: Config.RequestContextLogLevel,
requestFilter: Config.RequestFilter,
formDataLoggingLevel: Config.FormDataLoggingLevel,
customLogger: Config.CustomLogger,
Expand All @@ -145,7 +145,7 @@ public static IEnumerable<String> FilteredKeywordsInFormData
set => SerilogWebClassic.Configuration = new SerilogWebClassicConfiguration(
isEnabled: Config.IsEnabled,
requestLoggingLevel: Config.RequestLoggingLevel,
requestElapsedMSLogLevel: Config.RequestElapsedMSLogLevel,
requestContextLogLevel: Config.RequestContextLogLevel,
requestFilter: Config.RequestFilter,
formDataLoggingLevel: Config.FormDataLoggingLevel,
customLogger: Config.CustomLogger,
Expand All @@ -167,7 +167,7 @@ public static bool IsEnabled
set => SerilogWebClassic.Configuration = new SerilogWebClassicConfiguration(
isEnabled: value,
requestLoggingLevel: Config.RequestLoggingLevel,
requestElapsedMSLogLevel: Config.RequestElapsedMSLogLevel,
requestContextLogLevel: Config.RequestContextLogLevel,
requestFilter: Config.RequestFilter,
formDataLoggingLevel: Config.FormDataLoggingLevel,
customLogger: Config.CustomLogger,
Expand All @@ -189,7 +189,7 @@ public static LogEventLevel RequestLoggingLevel
isEnabled: Config.IsEnabled,
requestLoggingLevel: value,
requestFilter: Config.RequestFilter,
requestElapsedMSLogLevel: Config.RequestElapsedMSLogLevel,
requestContextLogLevel: Config.RequestContextLogLevel,
formDataLoggingLevel: Config.FormDataLoggingLevel,
customLogger: Config.CustomLogger,
logPostedFormData: Config.LogPostedFormData,
Expand All @@ -210,7 +210,7 @@ public static LogEventLevel FormDataLoggingLevel
set => SerilogWebClassic.Configuration = new SerilogWebClassicConfiguration(
isEnabled: Config.IsEnabled,
requestLoggingLevel: Config.RequestLoggingLevel,
requestElapsedMSLogLevel: Config.RequestElapsedMSLogLevel,
requestContextLogLevel: Config.RequestContextLogLevel,
requestFilter: Config.RequestFilter,
formDataLoggingLevel: value,
customLogger: Config.CustomLogger,
Expand All @@ -236,7 +236,7 @@ public static Func<HttpContextBase, bool> ShouldLogPostedFormData
SerilogWebClassic.Configuration = new SerilogWebClassicConfiguration(
isEnabled: Config.IsEnabled,
requestLoggingLevel: Config.RequestLoggingLevel,
requestElapsedMSLogLevel: Config.RequestElapsedMSLogLevel,
requestContextLogLevel: Config.RequestContextLogLevel,
requestFilter: Config.RequestFilter,
formDataLoggingLevel: Config.FormDataLoggingLevel,
customLogger: Config.CustomLogger,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ internal sealed class SerilogWebClassicConfiguration
internal SerilogWebClassicConfiguration(
bool isEnabled,
LogEventLevel requestLoggingLevel,
Func<long, LogEventLevel> requestElapsedMSLogLevel,
Func<HttpContextBase, TimeSpan, LogEventLevel> requestContextLogLevel,
Func<HttpContextBase, bool> requestFilter,
LogEventLevel formDataLoggingLevel,
ILogger customLogger,
Expand All @@ -30,7 +30,7 @@ internal SerilogWebClassicConfiguration(
{
IsEnabled = isEnabled;
RequestLoggingLevel = requestLoggingLevel;
RequestElapsedMSLogLevel = requestElapsedMSLogLevel;
RequestContextLogLevel = requestContextLogLevel;
RequestFilter = requestFilter;
FormDataLoggingLevel = formDataLoggingLevel;
CustomLogger = customLogger;
Expand Down Expand Up @@ -68,7 +68,7 @@ internal SerilogWebClassicConfiguration Edit(Func<SerilogWebClassicConfiguration
internal bool IsEnabled { get; }

internal LogEventLevel RequestLoggingLevel { get; }
internal Func<long, LogEventLevel> RequestElapsedMSLogLevel { get; }
internal Func<HttpContextBase, TimeSpan, LogEventLevel> RequestContextLogLevel { get; }
internal ILogger CustomLogger { get; }
internal Func<HttpContextBase, bool> RequestFilter { get; }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public class SerilogWebClassicConfigurationBuilder
private bool IsEnabled { get; set; } = true;

private LogEventLevel RequestLoggingLevel { get; set; }
private Func<long, LogEventLevel> RequestElapsedMSLogLevel { get; set; }
private Func<HttpContextBase, TimeSpan, LogEventLevel> RequestContextLogLevel { get; set; }
private ILogger CustomLogger { get; set; }
private Func<HttpContextBase, bool> RequestFilter { get; set; }

Expand All @@ -40,7 +40,7 @@ internal SerilogWebClassicConfigurationBuilder(SerilogWebClassicConfiguration co
CustomLogger = configToCopy.CustomLogger;
IsEnabled = configToCopy.IsEnabled;
RequestLoggingLevel = configToCopy.RequestLoggingLevel;
RequestElapsedMSLogLevel = configToCopy.RequestElapsedMSLogLevel;
RequestContextLogLevel = configToCopy.RequestContextLogLevel;
RequestFilter = configToCopy.RequestFilter;
FormDataLoggingLevel = configToCopy.FormDataLoggingLevel;
LogPostedFormData = configToCopy.LogPostedFormData;
Expand Down Expand Up @@ -72,7 +72,7 @@ internal SerilogWebClassicConfiguration Build()
return new SerilogWebClassicConfiguration(
isEnabled: IsEnabled,
requestLoggingLevel: RequestLoggingLevel,
requestElapsedMSLogLevel: RequestElapsedMSLogLevel,
requestContextLogLevel: RequestContextLogLevel,
requestFilter: RequestFilter,
formDataLoggingLevel: FormDataLoggingLevel,
customLogger: CustomLogger,
Expand Down Expand Up @@ -120,11 +120,11 @@ public SerilogWebClassicConfigurationBuilder LogAtLevel(LogEventLevel level)
/// Configure at which level HTTP requests are logged.
/// Default is Information
/// </summary>
/// <param name="requestElapsedMSLogLevel">Override the default log level based on the total request time in milliseconds</param>
/// <param name="requestContextLogLevel">Override the default log level based on the current http context and total request time</param>
/// <returns>A configuration object to allow chaining</returns>
public SerilogWebClassicConfigurationBuilder LogAtLevel(Func<long, LogEventLevel> requestElapsedMSLogLevel)
public SerilogWebClassicConfigurationBuilder LogAtLevel(Func<HttpContextBase, TimeSpan, LogEventLevel> requestContextLogLevel)
{
RequestElapsedMSLogLevel = requestElapsedMSLogLevel;
RequestContextLogLevel = requestContextLogLevel;
return this;
}

Expand Down
2 changes: 1 addition & 1 deletion src/SerilogWeb.Classic/Classic/WebRequestLoggingHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ internal void OnLogRequest(SerilogWebClassicConfiguration configuration)

var error = _application.Context.GetLastSerilogWebError() ?? _application.Server.GetLastError();

var configurationLevel = configuration.RequestElapsedMSLogLevel != null ? configuration.RequestElapsedMSLogLevel(stopwatch.ElapsedMilliseconds) : configuration.RequestLoggingLevel;
var configurationLevel = configuration.RequestContextLogLevel != null ? configuration.RequestContextLogLevel(_application.Context, stopwatch.Elapsed) : configuration.RequestLoggingLevel;

var level = error != null || _application.Response.StatusCode >= 500 ? LogEventLevel.Error : configurationLevel;

Expand Down

0 comments on commit c6da797

Please sign in to comment.