Создайте надёжное .NET логирование с консольным логгером GroupDocs

Введение

Вы сталкиваетесь с трудностями отслеживания ошибок и операций трассировки в ваших .NET приложениях? Create robust .NET logging является необходимым для мониторинга производительности, отладки проблем и поддержания плавной работы. Этот учебник проведёт вас через создание пользовательского консольного логгера с использованием GroupDocs.Search, а также покажет, как интегрировать GroupDocs.Redaction для .NET. В конце вы получите прозрачное, поддерживаемое решение логирования, которое легко впишется в ваш существующий код.

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

  • Что делает пользовательский логгер? Записывает записи журнала напрямую в консоль для мгновенной обратной связи во время разработки.
  • Какой компонент GroupDocs обеспечивает файловое логирование? Встроенный класс FileLogger обрабатывает постоянные файлы журнала.
  • Нужна ли лицензия? Временная лицензия подходит для тестирования; полная лицензия требуется для продакшна.
  • Какие версии .NET поддерживаются? .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6/7.
  • Является ли решение потокобезопасным? Да — как ConsoleLogger, так и FileLogger разработаны для одновременного использования.

Что такое «create robust .NET logging»?

Create robust .NET logging означает создание надёжного, высокопроизводительного конвейера логирования, который фиксирует ошибки, предупреждения и информационные сообщения на всех уровнях приложения. С GroupDocs вы можете достичь этого, используя как консольные, так и файловые цели, при этом сохраняя простую конфигурацию.

Почему использовать GroupDocs для .NET логирования?

GroupDocs поддерживает 30+ .NET платформ и может обрабатывать документы до 2 GB без заметного снижения производительности. Его API логирования легковесны, потокобезопасны и бесшовно интегрируются с существующими шаблонами обработки исключений, предоставляя проверенное решение корпоративного уровня.

Предпосылки

  • Необходимые библиотеки и версии: GroupDocs.Search для .NET и GroupDocs.Redaction для .NET (последние совместимые выпуски).
  • Настройка окружения: Visual Studio 2022 или любой совместимый с .NET IDE.
  • Требования к знаниям: Знание синтаксиса C# и базовых концепций логирования.

Настройка GroupDocs.Redaction для .NET

Сначала добавьте GroupDocs.Redaction в ваш проект. Выберите метод, который лучше всего подходит вашему рабочему процессу.

.NET CLI

dotnet add package GroupDocs.Redaction

Package Manager

Install-Package GroupDocs.Redaction

NuGet Package Manager UI
Search for “GroupDocs.Redaction” and install the latest version.
Найдите “GroupDocs.Redaction” и установите последнюю версию.

Приобретение лицензии

Чтобы начать, вы можете получить временную лицензию или купить полную. Это позволит вам исследовать все функции без ограничений. Посетите GroupDocs’ official site для получения более подробной информации о получении лицензии.

Базовая инициализация и настройка

Класс Redactor предоставляет API для изменения и редактирования содержимого в поддерживаемых документах.

using GroupDocs.Redaction;

// Initialize Redactor with a file path or stream
Redactor redactor = new Redactor("path/to/your/document.pdf");

Руководство по реализации

Как реализовать пользовательский консольный логгер с GroupDocs?

Загрузите ваш пользовательский логгер, создав экземпляр ConsoleLogger и передав его в SearchOptions или любой компонент GroupDocs, принимающий ILogger. Логгер записывает каждое сообщение в Console.WriteLine, предоставляя вам возможность в реальном времени видеть, что делает библиотека, и помогает быстро обнаруживать проблемы во время разработки.

Класс ConsoleLogger реализует ILogger для записи сообщений журнала непосредственно в консоль.

using System;
using GroupDocs.Search.Common;

public class ConsoleLogger : ILogger
{
    public ConsoleLogger()
    {
    }

    // Logs an error message using the console.
    public void Error(string message)
    {
        Console.WriteLine("Error: " + message);
    }

    // Logs a trace message using the console.
    public void Trace(string message)
    {
        Console.WriteLine(message);
    }
}

Шаг 1: Определите ваш пользовательский логгер
Создайте новый класс с именем ConsoleLogger:

using System;
using GroupDocs.Search.Common;

public class ConsoleLogger : ILogger
{
    public ConsoleLogger()
    {
    }

    // Logs an error message using the console.
    public void Error(string message)
    {
        Console.WriteLine("Error: " + message);
    }

    // Logs a trace message using the console.
    public void Trace(string message)
    {
        Console.WriteLine(message);
    }
}

Шаг 2: Интеграция с GroupDocs.Search

SearchOptions настраивает поведение поиска и принимает ILogger для логирования.

using System;
using GroupDocs.Search.Common;
using GroupDocs.Search.Results;

public static void ImplementingCustomLogger()
{
    string indexFolder = "YOUR_DOCUMENT_DIRECTORY/Logging/ImplementingCustomLogger";
    string documentsFolder = "YOUR_DOCUMENT_DIRECTORY/DocumentsPath";
    string query = "Lorem";

    IndexSettings settings = new IndexSettings();
    settings.Logger = new ConsoleLogger(); // Set your custom logger

    Index index = new Index(indexFolder, settings);
    index.Add(documentsFolder);

    SearchResult result = index.Search(query);
}

Что такое FileLogger и когда его использовать?

Класс FileLogger реализует ILogger и сохраняет записи журнала в файл на диске, что делает его идеальным для производственных сред, где требуются аудиторские следы. Класс FileLogger, предоставляемый GroupDocs, записывает записи журнала в указанный файл на диске, что идеально подходит для производственных сред, где необходимы постоянные аудиторские следы. Вы можете настроить ротацию журналов, ограничения размера файлов и уровни логирования в соответствии с вашими операционными требованиями.

Класс FileLogger реализует ILogger и сохраняет записи журнала в файл на диске.

using System;
using GroupDocs.Search.Common;
using GroupDocs.Search.Results;

public static void UseOfStandardFileLogger()
{
    string indexFolder = "YOUR_DOCUMENT_DIRECTORY/Logging/UseOfStandardFileLogger";
    string documentsFolder = "YOUR_DOCUMENT_DIRECTORY/DocumentsPath";
    string query = "Lorem";
    string logPath = "YOUR_OUTPUT_DIRECTORY/Logging/Log.txt";

    IndexSettings settings = new IndexSettings();
    settings.Logger = new FileLogger(logPath, 4.0); // Log file path and max size

    Index index = new Index(indexFolder, settings);
    index.Add(documentsFolder);

    SearchResult result = index.Search(query);
}

Почему выбирать GroupDocs для .NET логирования?

GroupDocs предоставляет измеримое преимущество: он поддерживает более 50 форматов вывода и может обрабатывать многосотстраничные документы без загрузки всего файла в память. Его инфраструктура логирования добавляет менее 2 ms накладных расходов на запись, обеспечивая оптимальную производительность даже при высокой нагрузке.

Практические применения

Ниже приведены практические сценарии, где эти техники логирования проявляют себя:

  1. Мониторинг приложений: Используйте ConsoleLogger во время разработки, чтобы видеть живую диагностику.
  2. Аудиторские следы: Разверните FileLogger для поддержания журналов соответствующего уровня для регуляторных отчетов.
  3. Отладка: Используйте подробные сообщения трассировки, чтобы точно определить проблемы в сложных конвейерах поиска.
  4. Анализ производительности: Анализируйте метки времени в журналах, чтобы выявлять узкие места и оптимизировать использование ресурсов.

Соображения по производительности

Чтобы логирование было быстрым и эффективным:

  • Ограничьте детализацию журналов: Установите уровень логгера на Info или Warning в продакшн, чтобы избежать избыточного ввода‑вывода.
  • Эффективное использование ресурсов: Настройте FileLogger с максимальным размером файла 10 MB и включите автоматическую ротацию.
  • Управление памятью: Освобождайте экземпляры логгеров с помощью блоков using или явных вызовов Dispose(), чтобы быстро освобождать ресурсы.

Часто задаваемые вопросы

Q: Можно ли использовать пользовательский консольный логгер в многопоточной приложении?
A: Да — как ConsoleLogger, так и FileLogger потокобезопасны, поэтому вы можете вести журнал из параллельных задач без условий гонки.

Q: Нужна ли отдельная лицензия для GroupDocs.Search и GroupDocs.Redaction?
A: Одна лицензия GroupDocs покрывает все модули, включая Search и Redaction, упрощая закупку.

Q: Как изменить расположение файла журнала для FileLogger?
A: Установите свойство LogFilePath при создании экземпляра FileLogger, например, new FileLogger("C:\\Logs\\app.log").

Q: Какие уровни логирования поддерживает GroupDocs?
A: Библиотека предоставляет уровни Debug, Info, Warning, Error и Critical, позволяя детально управлять выводом.

Q: Можно ли одновременно комбинировать консольное и файловое логирование?
A: Конечно — создайте составной логгер, который перенаправляет сообщения и в ConsoleLogger, и в FileLogger для двойной видимости.

Ресурсы

Заключение

В этом руководстве мы показали, как create robust .NET logging путем создания пользовательского консольного логгера и использования встроенного FileLogger от GroupDocs. Эти инструменты предоставляют вам возможность видеть данные в реальном времени во время разработки и надёжные, сохраняемые журналы для продакшна. Исследуйте различные конфигурации уровней логирования, экспериментируйте с составными логгерами и интегрируйте решение в более крупные сервисы для полной наблюдаемости стека.

Следующие шаги

  • Тестируйте различные настройки уровней логирования, чтобы найти оптимальный баланс между детализацией и производительностью.
  • Добавьте структурированное логирование (вывод JSON) в FileLogger для более лёгкой интеграции в платформы анализа журналов.
  • Исследуйте другие модули GroupDocs, такие как Search и Annotation, чтобы расширить ваш конвейер обработки документов.

Последнее обновление: 2026-07-31
Тестировано с: GroupDocs.Search 23.11, GroupDocs.Redaction 23.11 for .NET
Автор: GroupDocs


Связанные учебники