log4net намного медленнее, чем Система. Диагностика. Трассировка?

Вам просто нужно получить доступ к коллекции match.Groups[2].Captures.

См. демонстрацию regex

Что вам нужно CaptureCollection . См. Эту ссылку Regex.Match :

Captures Получает коллекцию всех захватов, соответствующих группе захвата, в самом внутреннем левом-первом порядке (или самой внутренней -rightmost-first order, если регулярное выражение изменено с помощью опции RegexOptions.RightToLeft). [Унаследовано от Group.)

blockquote>

Вот демонграмма sample , которая выводит все записи из Groups[2] CaptureCollection (F2, 0B, E2, C2, A3):

var pattern = "(=([0-9A-F]{2}))+";
var result = Regex.Matches("=F2=0B=E2some text =C2=A3", pattern)
          .Cast().Select(p => p.Groups[2].Captures)
          .ToList();
foreach (var coll in result)
   foreach (var v in coll)
        Console.WriteLine(v);

18
задан OwenP 15 October 2008 в 22:25
поделиться

4 ответа

да log4xxx медленнее, чем трассировка, так как трассировка является обычно близким инструментом ядра, в то время как log4xxx является намного более мощным инструментом. Лично я предпочитаю log4xxx из-за, это - fexibility, но если Вы хотите что-то, что не влияет на столько же, и Вы действительно не нуждаетесь в журналах для производства, говорите в отладке, только прослеживают, должен быть достаточно.

Примечание: Я использую log4xxx, потому что то же самое относится ко всем языкам с log4 библиотекой не просто .NET

12
ответ дан 30 November 2019 в 08:44
поделиться

На основе моего опыта log4net производительность не проблема в большинстве случаев. Реальный вопрос, почему Вам даже требовались бы к "регистрирующимся вещам сотни тысяч времен" в производственной системе.
, Поскольку я вижу его в производстве, необходимо зарегистрировать только абсолютный минимум (информация без обозначения даты может предупреждать уровень), и только если потребность к (отладка проблемы о сайте) должна активировать отладку на уровне отладки.

4
ответ дан 30 November 2019 в 08:44
поделиться

Если Вы захотите лучший из обоих миров, то log4net позволит Вам регистрироваться к aspnet трассировщику также. Я включаю эту опцию, когда я хочу получить статистику производительности, которая связана к определенным событиям в моем входе.

1
ответ дан 30 November 2019 в 08:44
поделиться

Вас может заинтересовать библиотека Common.Logging . Это тонкая оболочка абстракции над существующими реализациями ведения журналов, которая позволяет подключать любую среду ведения журналов, которая вам нравится во время выполнения. Кроме того, он намного быстрее, чем System.Diagnostics.Trace, как описано в моем блоге о производительности .

hth, Эрих

6
ответ дан 30 November 2019 в 08:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: