Ведение журнала с log4net в статическом классеC#

Место общения программистов C#
Ответить
Anonymous
 Ведение журнала с log4net в статическом классе

Сообщение Anonymous »

Я знаю, что существуют несколько тесно релевантных вопросов переполнения стека, но мне трудно сделать умственный скачок, чтобы применить их к тому, с чем я работаю, поэтому я готов рискнуть некоторыми поездками, чтобы Учитесь кое -что и выходите из грязи. Я использую журналистов так: < /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>
, который работает нормально с тех пор, как я написал это приложение в прошлом году. Теперь я хочу зарегистрировать кое -что в классе IdentityApiendPointRouteBuilderExtensions.cs, который является статичным. Я пережил несколько попыток этого, и я, кажется, нахожу проблему каждый раз. Например, приведенная ниже попытка заставляет меня «не может объявить членов экземпляра в статическом классе», и «статические типы не могут использоваться в качестве аргументов типа». < /P>
private static readonly ILogger _logger;
< /code>
Есть ли способ получить работу log4net в этом статическом классе или мне нужно вырвать или фундаментально изменить способ обработки журнала? Я стараюсь не менять многое о том, как работает это приложение, потому что оно довольно критическое, и оно хорошо показало производство.

Подробнее здесь: https://stackoverflow.com/questions/794 ... atic-class
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»