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>
Anmelden mit Log4Net in der statischen Klasse [Duplikat] ⇐ C#
-
- Similar Topics
- Replies
- Views
- Last post