Anmelden mit Log4Net in der statischen Klasse [Duplikat]C#

Ein Treffpunkt für C#-Programmierer
Guest
 Anmelden mit Log4Net in der statischen Klasse [Duplikat]

Post by Guest »

Ich weiß Die statische Klasse bezieht sich auf ein Startup.cs, das mein Projekt nicht verwendet. Ich benutze die Protokollierung wie folgt: < /p>
// In Program.cs
public static void Main(string[] args)
{
var builder = WebApplication.CreateBuilder(args);
builder.Logging.ClearProviders();
builder.Logging.AddLog4Net();
}

// In appsettings.json
"Logging": {
"LogLevel": {
"Default": "Error",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information",
"Log4Net": "Error"
}
},

// In one of many non-static classes
public class OrderNumberController : ControllerBase
{
private readonly ILogger _logger;

public OrderNumberController(ILogger logger)
{
_logger = logger;
}

public ActionResult Get()
{
_logger.LogInformation("log something");
}
}
< /code>
Das hat seit meinem letzten Jahr gut funktioniert. Jetzt möchte ich ein paar Sachen in der IdentityAPiendPoInTroutebuillertiere.cs -Klasse protokollieren, die statisch ist. Ich habe ein paar Versuche durchgemacht und ich scheine jedes Mal ein Problem zu finden. Der folgende Versuch bringt mich beispielsweise "kann keine Instanzmitglieder in einer statischen Klasse deklarieren" und "statische Typen können nicht als Typargumente verwendet werden". < /P>
private static readonly ILogger _logger;
< /code>
Gibt es eine Möglichkeit, in dieser statischen Klasse Log4Net zum Arbeiten zu bringen, oder muss ich die Art und Weise, wie ich die Protokollierung bearbeitet habe, herausreißen oder grundlegend ändern? Ich versuche nicht viel über die Funktionsweise dieser Anwendung zu ändern>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post