Asp.net logging storage

How can we store logs produced by the .net infrastructure? Currently we can only see them in a console. But this is not an option when hosted in IIS.

Is it somehow connected to log4net? Do we have to enhance the following code or is it enough to provide some configuration?

There are two files that have influence on the logging from the Microsoft infrastructure - appsettings.json and log4net.config.

appsettings.json contains the logging settings for the Microsoft infrastructure. The default setting is following:

"Logging": {
	"LogLevel": {
	  "Default": "Warning",
	  "Microsoft.*": "Warning" 
	}
  }

As you can see it is set to Warning level.

Our default level of logging for the application is declared in log4net.config and it is Error level:

<root>
    <level value="ERROR"/>
    <appender-ref ref="FileAppender" />
</root>

So in the default setting, you should be able to see the output from the Microsoft infrastructure only in case of an error. To see it more often, I’d lower the level in log4net.config. I tried to lower to Trace and I got a lot of rows starting with Microsoft.

Although I’m not sure about the precedence of the settings, because despite setting the Microsoft infrastructure to Warning level, lowering global log4net setting to Trace showed for Microsoft infrastructure levels below Warning.

EDIT: It turned out I didn’t have the standard appsettings.json setup and the logging configuration wasn’t there. This explains why I did get logs from Microsoft Infrastructure just by lowering level in log4net.config.

To expand my previous post, here is a log4net configuration snippet to log Microsoft infrastructure to a separate file.

<appender name="MSIFileAppender" type="log4net.Appender.FileAppender">
    <file value="./logs/msi.log" />
    <appendToFile value="false" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] %level %logger - %message%newline" />
    </layout>
  </appender>
  <logger name="Microsoft">
	<level value="TRACE"/>
	<appender-ref ref="MSIFileAppender" />
  </logger>

EDIT: appsettings.json need to contain:

"Logging": {
    "LogLevel": {
        "Default": "Trace",
        "Microsoft.*": "Trace" 
}

I tried to set the Microsoft logger according to your post, but nothing is logged. Log file is created but remains empty.

Since you write, that log is created, it seems the access rights are all right.

Can you provide your config files for review?

Yes, log file is created, so the permission should be correct.
appsettings.json logging part:

 "Logging": {
	"LogLevel": {
	  "Default":     "Warning",
	  "Microsoft.*": "Warning",
	  "System.Net": "Trace",
      "System.Net.Sockets": "Trace"	  
	}
  }

log4net.config (tried with and w/o additivity attribute) :

  <appender name="FileAppenderMS" type="log4net.Appender.RollingFileAppender">
    <file value="./logs/OrigamServerMS.log" />
    <appendToFile value="true" />
    <rollingStyle value="Size" />
    <maxSizeRollBackups value="5" />
    <maximumFileSize value="10MB" />
    <staticLogFileName value="true" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] %level %logger - %message%newline" />
    </layout>
  </appender>

  <logger name="Microsoft"  additivity="false">
	<level value="TRACE"/>
	<appender-ref ref="FileAppenderMS" />
  </logger>

One more question. Which Origam version are you using/testing?

@washi can you try testing sending an e-mail? This log configuration should log the conversation to the SMTP server. I think this is what @koki is trying to do.

Server version is 2021.2.0.2091.

The act of logging into the application should be enough to produce rows in a log. If they’re not there from this, I don’t think they will be there from mailing.

Even when only warnings are turned on? (see the provided configuration)

I’ve tested your settings and my log file ended up empty as well. I had to change appsettings.json content to this to get the log running:

"Logging": {
    "LogLevel": {
        "Default": "Trace",
        "Microsoft.*": "Trace",
        "System.Net": "Trace",
        "System.Net.Sockets": "Trace"	  
    }
}

I didn’t have to do any changes in log4net.config.

I’m going to edit my previous post to correct them.

When I change LogLevel to Trace in appsettings.json, it started to log to file. But there is no logging regarding mail service. See attached log after ForgotPassword request.

2021-06-17 09:44:29,258 [15] INFO Microsoft.AspNetCore.Hosting.Diagnostics - Request starting HTTP/1.1 POST https://localhost:8443/account/ForgotPassword application/x-www-form-urlencoded 217
2021-06-17 09:44:29,258 [15] TRACE Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware - All hosts are allowed.
2021-06-17 09:44:29,258 [15] TRACE Microsoft.AspNetCore.HttpsPolicy.HstsMiddleware - Adding HSTS header to response.
2021-06-17 09:44:29,260 [15] INFO Microsoft.AspNetCore.Cors.Infrastructure.CorsMiddleware - No CORS policy found for the specified request.
2021-06-17 09:44:29,260 [15] DEBUG Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationHandler - AuthenticationScheme: Identity.Application was not authenticated.
2021-06-17 09:44:29,260 [15] DEBUG Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationHandler - AuthenticationScheme: Identity.Application was not authenticated.
2021-06-17 09:44:29,260 [15] DEBUG Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationHandler - AuthenticationScheme: Identity.Application was not authenticated.
2021-06-17 09:44:29,260 [15] DEBUG Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware - POST requests are not supported
2021-06-17 09:44:29,260 [15] DEBUG Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware - POST requests are not supported
2021-06-17 09:44:29,260 [15] DEBUG Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware - POST requests are not supported
2021-06-17 09:44:29,261 [15] DEBUG Microsoft.AspNetCore.Cors.Infrastructure.CorsService - The request has an origin header: 'null'.
2021-06-17 09:44:29,261 [15] INFO Microsoft.AspNetCore.Cors.Infrastructure.CorsService - CORS policy execution successful.
2021-06-17 09:44:29,261 [15] DEBUG Microsoft.AspNetCore.Routing.Tree.TreeRouter - Request successfully matched the route with name '(null)' and template 'account/ForgotPassword'
2021-06-17 09:44:29,261 [15] DEBUG Microsoft.AspNetCore.Mvc.Infrastructure.ActionSelector - Action 'Origam.ServerCore.IdentityServerGui.Account.AccountController.ForgotPassword (Origam.ServerCore)' with id 'c70943e5-3326-4e76-867a-dc2d9e664836' did not match the constraint 'Microsoft.AspNetCore.Mvc.ActionConstraints.HttpMethodActionConstraint'
2021-06-17 09:44:29,320 [15] INFO Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Route matched with {action = "ForgotPassword", controller = "Account"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] ForgotPassword(Origam.ServerCore.IdentityServerGui.Account.ForgotPasswordViewModel) on controller Origam.ServerCore.IdentityServerGui.Account.AccountController (Origam.ServerCore).
2021-06-17 09:44:29,320 [15] DEBUG Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Execution plan of authorization filters (in the following order): Microsoft.AspNetCore.Mvc.ViewFeatures.Filters.ValidateAntiforgeryTokenAuthorizationFilter
2021-06-17 09:44:29,320 [15] DEBUG Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Execution plan of resource filters (in the following order): Microsoft.AspNetCore.Mvc.ViewFeatures.Filters.SaveTempDataFilter
2021-06-17 09:44:29,320 [15] DEBUG Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Execution plan of action filters (in the following order): Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter (Order: -2147483648), Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter (Order: -3000), Origam.ServerCore.IdentityServerGui.SecurityHeadersAttribute (Order: 0)
2021-06-17 09:44:29,320 [15] DEBUG Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Execution plan of exception filters (in the following order): None
2021-06-17 09:44:29,320 [15] DEBUG Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Execution plan of result filters (in the following order): Microsoft.AspNetCore.Mvc.ViewFeatures.Filters.SaveTempDataFilter, Origam.ServerCore.IdentityServerGui.SecurityHeadersAttribute (Order: 0)
2021-06-17 09:44:29,320 [15] TRACE Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Authorization Filter: Before executing OnAuthorizationAsync on filter Microsoft.AspNetCore.Mvc.ViewFeatures.Filters.ValidateAntiforgeryTokenAuthorizationFilter.
2021-06-17 09:44:29,326 [15] TRACE Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingBasedDataProtector - Performing unprotect operation to key {5a869d1c-4ce3-4187-b860-92be2caaf7f5} with purposes ('C:\inetpub\html5test2', 'Microsoft.AspNetCore.Antiforgery.AntiforgeryToken.v1').
2021-06-17 09:44:29,326 [15] TRACE Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingBasedDataProtector - Performing unprotect operation to key {5a869d1c-4ce3-4187-b860-92be2caaf7f5} with purposes ('C:\inetpub\html5test2', 'Microsoft.AspNetCore.Antiforgery.AntiforgeryToken.v1').
2021-06-17 09:44:29,326 [15] DEBUG Microsoft.AspNetCore.Antiforgery.DefaultAntiforgery - Antiforgery successfully validated a request.
2021-06-17 09:44:29,326 [15] TRACE Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Authorization Filter: After executing OnAuthorizationAsync on filter Microsoft.AspNetCore.Mvc.ViewFeatures.Filters.ValidateAntiforgeryTokenAuthorizationFilter.
2021-06-17 09:44:29,326 [15] TRACE Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Resource Filter: Before executing OnResourceExecuting on filter Microsoft.AspNetCore.Mvc.ViewFeatures.Filters.SaveTempDataFilter.
2021-06-17 09:44:29,326 [15] TRACE Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Resource Filter: After executing OnResourceExecuting on filter Microsoft.AspNetCore.Mvc.ViewFeatures.Filters.SaveTempDataFilter.
2021-06-17 09:44:29,326 [15] DEBUG Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Executing controller factory for controller Origam.ServerCore.IdentityServerGui.Account.AccountController (Origam.ServerCore)
2021-06-17 09:44:29,340 [15] DEBUG Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Executed controller factory for controller Origam.ServerCore.IdentityServerGui.Account.AccountController (Origam.ServerCore)
2021-06-17 09:44:29,349 [15] DEBUG Microsoft.AspNetCore.Mvc.ModelBinding.ParameterBinder - Attempting to bind parameter 'model' of type 'Origam.ServerCore.IdentityServerGui.Account.ForgotPasswordViewModel' ...
2021-06-17 09:44:29,350 [15] DEBUG Microsoft.AspNetCore.Mvc.ModelBinding.Binders.ComplexObjectModelBinder - Attempting to bind parameter 'model' of type 'Origam.ServerCore.IdentityServerGui.Account.ForgotPasswordViewModel' using the name '' in request data ...
2021-06-17 09:44:29,353 [15] DEBUG Microsoft.AspNetCore.Mvc.ModelBinding.Binders.SimpleTypeModelBinder - Attempting to bind property 'Origam.ServerCore.IdentityServerGui.Account.ForgotPasswordViewModel.Email' of type 'System.String' using the name 'Email' in request data ...
2021-06-17 09:44:29,354 [15] DEBUG Microsoft.AspNetCore.Mvc.ModelBinding.Binders.SimpleTypeModelBinder - Done attempting to bind property 'Origam.ServerCore.IdentityServerGui.Account.ForgotPasswordViewModel.Email' of type 'System.String'.
2021-06-17 09:44:29,356 [15] DEBUG Microsoft.AspNetCore.Mvc.ModelBinding.Binders.ComplexObjectModelBinder - Done attempting to bind parameter 'model' of type 'Origam.ServerCore.IdentityServerGui.Account.ForgotPasswordViewModel'.
2021-06-17 09:44:29,356 [15] DEBUG Microsoft.AspNetCore.Mvc.ModelBinding.ParameterBinder - Done attempting to bind parameter 'model' of type 'Origam.ServerCore.IdentityServerGui.Account.ForgotPasswordViewModel'.
2021-06-17 09:44:29,356 [15] DEBUG Microsoft.AspNetCore.Mvc.ModelBinding.ParameterBinder - Attempting to validate the bound parameter 'model' of type 'Origam.ServerCore.IdentityServerGui.Account.ForgotPasswordViewModel' ...
2021-06-17 09:44:29,363 [15] DEBUG Microsoft.AspNetCore.Mvc.ModelBinding.ParameterBinder - Done attempting to validate the bound parameter 'model' of type 'Origam.ServerCore.IdentityServerGui.Account.ForgotPasswordViewModel'.
2021-06-17 09:44:29,363 [15] TRACE Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Action Filter: Before executing OnActionExecutionAsync on filter Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter.
2021-06-17 09:44:29,363 [15] TRACE Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Action Filter: Before executing OnActionExecuting on filter Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter.
2021-06-17 09:44:29,363 [15] TRACE Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Action Filter: After executing OnActionExecuting on filter Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter.
2021-06-17 09:44:29,363 [15] TRACE Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Action Filter: Before executing OnActionExecutionAsync on filter Origam.ServerCore.IdentityServerGui.SecurityHeadersAttribute.
2021-06-17 09:44:29,363 [15] INFO Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Executing action method Origam.ServerCore.IdentityServerGui.Account.AccountController.ForgotPassword (Origam.ServerCore) - Validation state: Valid
2021-06-17 09:44:29,363 [15] TRACE Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Executing action method Origam.ServerCore.IdentityServerGui.Account.AccountController.ForgotPassword (Origam.ServerCore) with arguments (Origam.ServerCore.IdentityServerGui.Account.ForgotPasswordViewModel)
2021-06-17 09:44:29,544 [15] TRACE Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingBasedDataProtector - Performing protect operation to key {5a869d1c-4ce3-4187-b860-92be2caaf7f5} with purposes ('C:\inetpub\html5test2', 'DataProtectorTokenProvider').
2021-06-17 09:44:29,923 [15] INFO Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Executed action method Origam.ServerCore.IdentityServerGui.Account.AccountController.ForgotPassword (Origam.ServerCore), returned result Microsoft.AspNetCore.Mvc.ViewResult in 559.6333ms.
2021-06-17 09:44:29,923 [15] TRACE Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Action Filter: After executing OnActionExecutionAsync on filter Origam.ServerCore.IdentityServerGui.SecurityHeadersAttribute.
2021-06-17 09:44:29,923 [15] TRACE Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Action Filter: Before executing OnActionExecuted on filter Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter.
2021-06-17 09:44:29,923 [15] TRACE Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Action Filter: After executing OnActionExecuted on filter Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter.
2021-06-17 09:44:29,923 [15] TRACE Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Action Filter: After executing OnActionExecutionAsync on filter Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter.
2021-06-17 09:44:29,923 [15] TRACE Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Result Filter: Before executing OnResultExecuting on filter Microsoft.AspNetCore.Mvc.ViewFeatures.Filters.SaveTempDataFilter.
2021-06-17 09:44:29,923 [15] TRACE Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Result Filter: After executing OnResultExecuting on filter Microsoft.AspNetCore.Mvc.ViewFeatures.Filters.SaveTempDataFilter.
2021-06-17 09:44:29,923 [15] TRACE Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Result Filter: Before executing OnResultExecutionAsync on filter Origam.ServerCore.IdentityServerGui.SecurityHeadersAttribute.
2021-06-17 09:44:29,923 [15] TRACE Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Before executing action result Microsoft.AspNetCore.Mvc.ViewResult.
2021-06-17 09:44:29,923 [15] DEBUG Microsoft.AspNetCore.Mvc.Razor.RazorViewEngine - View lookup cache miss for view 'ForgotPasswordConfirmation' in controller 'Account'.
2021-06-17 09:44:29,923 [15] TRACE Microsoft.AspNetCore.Mvc.Razor.Compilation.DefaultViewCompiler - Could not find a file for view at path '/Views/Account/ForgotPasswordConfirmation.cs-CZ.cshtml'.
2021-06-17 09:44:29,923 [15] TRACE Microsoft.AspNetCore.Mvc.Razor.Compilation.DefaultViewCompiler - Could not find a file for view at path '/Views/Account/ForgotPasswordConfirmation.cs.cshtml'.
2021-06-17 09:44:29,923 [15] TRACE Microsoft.AspNetCore.Mvc.Razor.Compilation.DefaultViewCompiler - Located compiled view for view at path '/Views/Account/ForgotPasswordConfirmation.cshtml'.
2021-06-17 09:44:29,924 [15] TRACE Microsoft.AspNetCore.Mvc.Razor.Compilation.DefaultViewCompiler - Could not find a file for view at path '/Views/Account/_ViewStart.cshtml'.
2021-06-17 09:44:29,924 [15] TRACE Microsoft.AspNetCore.Mvc.Razor.Compilation.DefaultViewCompiler - Located compiled view for view at path '/Views/_ViewStart.cshtml'.
2021-06-17 09:44:29,924 [15] TRACE Microsoft.AspNetCore.Mvc.Razor.Compilation.DefaultViewCompiler - Could not find a file for view at path '/_ViewStart.cshtml'.
2021-06-17 09:44:29,924 [15] INFO Microsoft.AspNetCore.Mvc.ViewFeatures.ViewResultExecutor - Executing ViewResult, running view ForgotPasswordConfirmation.
2021-06-17 09:44:29,924 [15] DEBUG Microsoft.AspNetCore.Mvc.ViewFeatures.ViewResultExecutor - The view path '/Views/Account/ForgotPasswordConfirmation.cshtml' was found in 0.798ms.
2021-06-17 09:44:29,926 [15] DEBUG Microsoft.Extensions.Localization.ResourceManagerStringLocalizer - ResourceManagerStringLocalizer searched for 'CheckEmail' in 'Origam.ServerCore.Resources.SharedResources' with culture 'cs-CZ'.
2021-06-17 09:44:29,926 [15] DEBUG Microsoft.AspNetCore.Mvc.Razor.RazorViewEngine - View lookup cache hit for view '_Layout' in controller 'Account'.
2021-06-17 09:44:29,926 [15] DEBUG Microsoft.Extensions.Localization.ResourceManagerStringLocalizer - ResourceManagerStringLocalizer searched for 'IdentityServerTitle' in 'Origam.ServerCore.Resources.SharedResources' with culture 'cs-CZ'.
2021-06-17 09:44:29,926 [15] INFO Microsoft.AspNetCore.Mvc.ViewFeatures.ViewResultExecutor - Executed ViewResult - view ForgotPasswordConfirmation executed in 3.3054ms.
2021-06-17 09:44:29,926 [15] TRACE Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - After executing action result Microsoft.AspNetCore.Mvc.ViewResult.
2021-06-17 09:44:29,927 [15] TRACE Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Result Filter: After executing OnResultExecutionAsync on filter Origam.ServerCore.IdentityServerGui.SecurityHeadersAttribute.
2021-06-17 09:44:29,927 [15] TRACE Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Result Filter: Before executing OnResultExecuted on filter Microsoft.AspNetCore.Mvc.ViewFeatures.Filters.SaveTempDataFilter.
2021-06-17 09:44:29,927 [15] TRACE Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Result Filter: After executing OnResultExecuted on filter Microsoft.AspNetCore.Mvc.ViewFeatures.Filters.SaveTempDataFilter.
2021-06-17 09:44:29,927 [15] TRACE Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Resource Filter: Before executing OnResourceExecuted on filter Microsoft.AspNetCore.Mvc.ViewFeatures.Filters.SaveTempDataFilter.
2021-06-17 09:44:29,927 [15] TRACE Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Resource Filter: After executing OnResourceExecuted on filter Microsoft.AspNetCore.Mvc.ViewFeatures.Filters.SaveTempDataFilter.
2021-06-17 09:44:29,927 [15] INFO Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker - Executed action Origam.ServerCore.IdentityServerGui.Account.AccountController.ForgotPassword (Origam.ServerCore) in 606.7968ms
2021-06-17 09:44:29,927 [15] INFO Microsoft.AspNetCore.Hosting.Diagnostics - Request finished HTTP/1.1 POST https://localhost:8443/account/ForgotPassword application/x-www-form-urlencoded 217 - 200 - text/html;+charset=utf-8 669.4763ms
2021-06-17 09:44:29,969 [15] INFO Microsoft.AspNetCore.Hosting.Diagnostics - Request starting HTTP/1.1 GET https://localhost:8443/assets/identity/js/custom.js - -
2021-06-17 09:44:29,970 [15] TRACE Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware - All hosts are allowed.
2021-06-17 09:44:29,970 [15] TRACE Microsoft.AspNetCore.HttpsPolicy.HstsMiddleware - Adding HSTS header to response.
2021-06-17 09:44:29,970 [15] DEBUG Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationHandler - AuthenticationScheme: Identity.Application was not authenticated.
2021-06-17 09:44:29,970 [15] DEBUG Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationHandler - AuthenticationScheme: Identity.Application was not authenticated.
2021-06-17 09:44:29,970 [15] DEBUG Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationHandler - AuthenticationScheme: Identity.Application was not authenticated.
2021-06-17 09:44:29,970 [15] DEBUG Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware - The request path /identity/js/custom.js does not match an existing file
2021-06-17 09:44:29,970 [15] DEBUG Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware - The request path  does not match the path filter
2021-06-17 09:44:29,970 [15] DEBUG Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware - The request path /assets/identity/js/custom.js does not match an existing file
2021-06-17 09:44:29,970 [15] DEBUG Microsoft.AspNetCore.Builder.RouterMiddleware - Request did not match any routes
2021-06-17 09:44:29,970 [15] DEBUG Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware - The request path /assets/identity/js/custom.js does not match an existing file
2021-06-17 09:44:29,970 [15] INFO Microsoft.AspNetCore.Hosting.Diagnostics - Request finished HTTP/1.1 GET https://localhost:8443/assets/identity/js/custom.js - - - 404 - - 1.0192ms

Is there a way to add some trace steps into mail service, when establishing SMTP session, so I can see any message in the log?