TGViewer
Библиотека шарписта | C#, F#, .NET, ASP.NET Библиотека шарписта | C#, F#, .NET, ASP.NET @csharpproglib · 21.6K subscribers
Post #5908 4.14K
📝 Контроль объема логов в .NET-приложениях

В больших приложениях поток логов может быть огромным — это перегружает хранилище и снижает производительность.

Полное отключение детальных логов — плохое решение, ведь важные данные могут потеряться. Лучше использовать выборочное логирование.

.NET теперь поддерживает несколько стратегий выборочного логирования:

• Случайная выборка по вероятности

• Выборка по трассировке

• Пользовательские сэмплеры для гибкой настройки

Пример простого пользовательского сэмплера для .NET, который ограничивает вывод логов до примерно 1 сообщения в секунду:
public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func<TState, Exception, string> formatter)
{
var key = eventId.Id.ToString();

var now = DateTime.UtcNow;

var lastTime = _lastLoggedTimes.GetOrAdd(key, DateTime.MinValue);

if ((now - lastTime) >= _interval)
{
_lastLoggedTimes[key] = now;

var message = formatter(state, exception);
Console.WriteLine($"[{now:O}] {logLevel}: {message}");
// Здесь вместо Console.WriteLine — вызов реального логгера
}
else
{
// Пропускаем лог, чтобы не создавать слишком много записей
}
}


Это может снизить затраты на хранение и обработку логов без потери ключевой информации.

➡️ Блог разработчиков .NET

🐸Библиотека шарписта #буст
  • 😁 11
  • 🤔 3
  • ❤ 1
  • 🌚 1
  • 👾 1
More from @csharpproglib
  1. Oct 7, 2026Альфа-Банк ищет скиллового коллегу QA Fullstack на C# Полная удалёнка или гибрид в Москве,…
  2. Oct 5, 2026🦈 Открытое собеседование на Middle C# | 6 октября, 19:00 МСК Приглашаем на открытое собес…
  3. Sep 30, 2026📝 Логирование со строковой интерполяцией Логирование c интерполяцией строк один из самых…
  4. Sep 28, 2026👨‍💻 Не показывайте технические ошибки пользователям Когда приложение падает с необработа…
  5. Sep 26, 2026📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека шарписта #garbage_collector
  6. Sep 25, 2026🔐 NuGet: Microsoft меняет сертификат подписи С 23 сентября Microsoft использует новый сер…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →