Я хочу преобразовать уровень журнала INFO в WARN, если сообщение журнала INFO содержит исключение. В любом случае я могу это сделать? (Я интегрирую log4net в .NET-приложении)Convert log level (log4net)
0
A
ответ
0
Если вы уже не завершаете свои вызовы регистрации, и в этом случае вы могли бы перехватывать сообщения перед их передачей в log4net, лучше всего было бы создать свои собственные приложения, которые рекламируют журнал событий. Поскольку каждый Appender подкласса должны были бы точно такой же код, который я создал метод расширения, который делает фактическое продвижение:
public static class AppenderExtensions
{
public static LoggingEvent Promote(this LoggingEvent loggingEvent)
{
if (loggingEvent.Level != Level.Info
|| loggingEvent.ExceptionObject == null)
{
return loggingEvent;
}
var data = loggingEvent.GetLoggingEventData(FixFlags.All);
data.Level = Level.Warn;
return new LoggingEvent(data);
}
}
public class PromotingAdoNetAppender : AdoNetAppender
{
protected override void Append(LoggingEvent loggingEvent)
{
base.Append(loggingEvent.Promote());
}
}
public class PromotingRollingFileAppender : RollingFileAppender
{
protected override void Append(LoggingEvent loggingEvent)
{
base.Append(loggingEvent.Promote());
}
}
Тогда все, что вам нужно сделать, это объявить эти типы Appender в вашей конфигурации:
<appender name="DatabaseAppender"
type="Your.Namespace.Here.PromotingAdoNetAppender">
…
Смежные вопросы
- 1. Rails Кэширование Log Level
- 2. Rails production log level
- 3. Log4Net: Log with UTC
- 4. Expose Log4net log rss
- 5. log4net missing log entries
- 6. Log4Net VB log files issue
- 7. log4net web plugin location log log
- 8. Log4net to log method name
- 9. Log4net EventLogAppender Log Event ID
- 10. log to redshift с помощью adonetappender log4net
- 11. log4net log файл создан, но всегда пуст
- 12. log4net set log файл по относительному пути
- 13. Websphere Service Log and Log Level Какое отношение имеет отношение
- 14. log несколько сборок с использованием log4net
- 15. JSON Convert Level to Array (Javascript)
- 16. Symfony Server Log Level/более подробный?
- 17. Symfony2/Monolog: Log Level - показывать только приложение.INFO?
- 18. CocoaLumberjack's Log Level переключается на подробный
- 19. Writer для sl4j log level appenders
- 20. SLF4J Log Level в качестве аргумента
- 21. Log4net: Log Context Only for Exception
- 22. log4net log все необработанные ошибки приложения
- 23. Redirect log4net log in User Directory
- 24. Log4net log to Azure Storage Account
- 25. log4net
- 26. logstash Неизвестная настройка 'convert' for csv {: level =>: error}
- 27. Laravel Монолог. Log INFO level для разделения файла
- 28. google app engine python log level noise reduction
- 29. Powermockito mock operation on level level level
- 30. Log4Net: Несколько лесорубов
Спасибо за фрагмент кода, я согласился с вашим первым предложением и создал обертку вокруг журнала log4net. Таким образом, мне не нужно использовать пользовательские регистраторы и получать желаемые результаты. – TheGuest