C#でカスタムロギングを使用する方法

Chaknith related to C#でカスタムロギングを使用する方法
チャクニット・ビン
2023年11月6日
更新済み 2025年2月19日
共有:
This article was translated from English: Does it need improvement?
Translated
View the article in English

カスタムロギングとは、アプリケーションやシステムの特定のニーズと要件に合わせてロギングシステムを実装することを指します。 ソフトウェアの動作中に生成される情報、イベント、およびメッセージを記録するために、ログファイルを作成および使用することが含まれます。

IronPDFを始めましょう

今日から無料トライアルでIronPDFをあなたのプロジェクトで使い始めましょう。

最初のステップ:
green arrow pointer



カスタムロギング例

カスタムロギング機能を利用するには、LoggingModeプロパティをLoggingModes.Customに変更します。 その後、作成したカスタムロガークラスにCustomLoggerプロパティを割り当てます。

:path=/static-assets/pdf/content-code-examples/how-to/custom-logging-custom-logging.cs
IronSoftware.Logger.LoggingMode = IronSoftware.Logger.LoggingModes.Custom;
IronSoftware.Logger.CustomLogger = new CustomLoggerClass("logging");

IronPDF のログはカスタムロガーオブジェクトに転送されます。 メッセージはIronPDFロガーのものと同一のままです。 それらは単にカスタムロガーにリレーされます。 カスタムロガーがメッセージを管理する方法は、カスタムロガーデザイナーによって決定されます。 次のカスタムロガークラスを例として使用しましょう。

:path=/static-assets/pdf/content-code-examples/how-to/custom-logging-custom-logging-class.cs
public class CustomLoggerClass : ILogger
{
    private readonly string categoryName;

    public CustomLoggerClass(string categoryName)
    {
        this.categoryName = categoryName;
    }

    public IDisposable BeginScope<TState>(TState state)
    {
        return null;
    }

    public bool IsEnabled(LogLevel logLevel)
    {
        return true;
    }

    public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func<TState, Exception, string> formatter)
    {
        if (!IsEnabled(logLevel))
        {
            return;
        }

        // Implement your custom logging logic here.
        string logMessage = formatter(state, exception);

        // You can use 'logLevel', 'eventId', 'categoryName', and 'logMessage' to log the message as needed.
        // For example, you can write it to a file, console, or another destination.

        // Example: Writing to the console
        Console.WriteLine($"[{logLevel}] [{categoryName}] - {logMessage}");
    }
}

この場合、ログメッセージに追加情報を接頭辞として付けました。

コンソールウィンドウ
Chaknith related to カスタムロギング例
ソフトウェアエンジニア
チャクニットは開発者のシャーロック・ホームズです。彼がソフトウェアエンジニアリングの将来性に気付いたのは、楽しみでコーディングチャレンジをしていたときでした。彼のフォーカスはIronXLとIronBarcodeにありますが、すべての製品でお客様を助けることに誇りを持っています。チャクニットは顧客と直接話すことで得た知識を活用して、製品自体のさらなる改善に貢献しています。彼の逸話的なフィードバックは、単なるJiraチケットを超えて、製品開発、ドキュメントおよびマーケティングをサポートし、顧客の全体的な体験を向上させます。オフィスにいないときは、機械学習やコーディングについて学んだり、ハイキングを楽しんだりしています。