C# でカスタムログを使用する方法
C#のカスタムロギングを使用すると、アプリケーション固有のイベントやメッセージをキャプチャするカスタマイズされたロギングシステムを実装することができます。 IronPDFでは、 LoggingMode を Custom に設定し、ロガー実装を割り当てることで、すべての PDF 処理ログをカスタム ロガーにリダイレクトできます。 この機能により、NLog、Serilog、log4net、またはカスタムソリューションを使用している場合でも、IronPdfの詳細なロギング出力を既存のロギングインフラストラクチャと統合することができます。
カスタムロギングは、複数のコンポーネントからのログを一元化したり、カスタムフォーマットを適用したり、重大度レベルでフィルタリングしたり、ファイル、データベース、監視サービスなどの特定の宛先にログをルーティングしたりする必要がある場合に有用です。 IronPdfでカスタムロギングを実装することで、PDFの生成と処理イベントがアプリケーション内でどのように追跡されるかを完全にコントロールすることができます。
クイックスタート: IronPDFでカスタム ログを実装する
IronPDFを使ってC#でカスタムロギングを始めましょう。 このガイドでは、LoggingMode を Custom に設定し、それをロガー クラスにリンクする方法を説明します。 アプリケーションのログを監視・管理するために、IronPDFメッセージをカスタムロガーに直接送ることができます。 セットアップは簡単で、アプリケーションのログ機能を強化します。 IronPDFの機能の包括的な概要については、クイックスタートガイドをご覧ください。
最小限のワークフロー(5ステップ)
- NuGetからIronPDFをダウンロードする。
- **`LoggingMode`**プロパティを`LoggingModes.Custom`に設定してください。
- カスタム ロガー オブジェクトに **`CustomLogger`** プロパティを割り当てます。
- すべてのログ・メッセージはカスタム・ロガーに転送されます
- ログ・メッセージを出力してログを表示します
カスタムログの例を実装するにはどうすればよいですか?
カスタムロギングを使用するには、LoggingModeプロパティをLoggingModes.Customに変更してください。 次に、CustomLogger プロパティをカスタム ロガー クラスに割り当てます。 これは、さまざまなロギングフレームワークと統合するための柔軟性を提供し、アプリケーション全体で一貫したロギングパターンを維持します。
実装には最小限のセットアップしか必要ありません。一旦設定されると、HTMLからPDFへの変換、PDFの操作、レンダリングを含むすべてのIronPDFの操作は自動的にカスタムロガーを通してログメッセージを送信します。 この統合により、PDF処理操作に関する重要な情報を確実に把握することができます。
なぜIronPDFでカスタムログを使うべきなのでしょうか?
: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");
IronSoftware.Logger.LoggingMode = IronSoftware.Logger.LoggingModes.Custom
IronSoftware.Logger.CustomLogger = New CustomLoggerClass("logging")
IronPDFのログはカスタムロガーオブジェクトに送られます。 メッセージはIronPDFロガーのものと同じです; これらの情報は、カスタムロガーにリレーされます。 カスタムロガーの実装は、メッセージを処理する方法を決定します。 次のカスタムロガークラスの例を考えてみましょう。
カスタムロギングは、プロダクションアプリケーションにいくつかの利点をもたらします:
- ログの一元管理: IronPDFのログを既存のロギングインフラストラクチャと統合します。
- 強化されたデバッグ:トラブルシューティングのために PDF 操作の詳細情報をキャプチャします。
- パフォーマンス監視: レンダリング時間とリソースの使用状況を追跡します。
- エラー追跡:PDF 生成の失敗を自動的にキャプチャして報告します。
- コンプライアンス:規制産業における文書生成の監査証跡を維持する。
非同期処理を必要とするアプリケーションでは、カスタムロギングによって、PDFの同時処理を追跡し、潜在的なボトルネックを特定することができます。
カスタム ロガー クラスはどのように見えますか?
: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}");
}
}
Public Class CustomLoggerClass
Implements ILogger
Private ReadOnly categoryName As String
Public Sub New(ByVal categoryName As String)
Me.categoryName = categoryName
End Sub
Public Function BeginScope(Of TState)(ByVal state As TState) As IDisposable
Return Nothing
End Function
Public Function IsEnabled(ByVal logLevel As LogLevel) As Boolean
Return True
End Function
Public Sub Log(Of TState)(ByVal logLevel As LogLevel, ByVal eventId As EventId, ByVal state As TState, ByVal exception As Exception, ByVal formatter As Func(Of TState, Exception, String))
If Not IsEnabled(logLevel) Then
Return
End If
' Implement your custom logging logic here.
Dim logMessage As String = 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}")
End Sub
End Class
この実装は標準の Microsoft.Extensions.Logging.ILogger インターフェイスに準拠しており、 .NETログ記録エコシステムと互換性があります。 ロガークラスには以下が含まれます:
- カテゴリ名: ログメッセージのソースを識別するのに役立ちます。
- ログレベルのフィルタリング:キャプチャする重大度レベルを制御する
- 柔軟な出力:任意の宛先(コンソール、ファイル、データベースなど)にログをルーティングします。
- 例外処理:例外の詳細を適切にフォーマットし、ログに記録する
-状態管理:
BeginScopeによる構造化ログのサポート
高度なシナリオについては、特に複雑な HTML 変換を扱う場合や、Chromeレンダリングエンジンを使用する場合など、ログ出力に影響するレンダリングオプションを調べてください。
カスタムログ出力はどのように見えますか?
この例では、ログメッセージの前に追加情報を付けています。
コンソール出力は、カスタムロギングがIronPDFの内部操作に対する詳細な洞察をどのように提供するかを示しています。 ご覧いただけます:
- Chromeクライアントの初期化手順
- デプロイメント候補の作成
- ネイティブライブラリのロードシーケンス
- コンポーネント導入の成功確認
PDF生成の問題をデバッグするときや、パフォーマンスを最適化するときに、この詳細レベルは非常に貴重です。 構造化されたフォーマットにより、プログラムによるログの解析や、ログ解析ツールとの統合が容易になります。
カスタム ロギング実装のベスト プラクティス
IronPDFでカスタムロギングを実装する際には、以下のベストプラクティスを考慮してください:
1.適切なログレベルを使用する:ログ ストレージを圧迫することなく、適切な詳細レベルをキャプチャするようにロガーを構成します。 2.文脈情報を含める:リクエストID、ユーザー情報、またはトランザクションの詳細を追加して、PDF操作を関連付けます。 3.機密データを扱う: ロガーがPDFコンテンツから機密情報を漏らさないようにします。 4.パフォーマンスの監視: PDF生成時間を追跡して、最適化の機会を特定します。 5.アラートの設定:重大なエラーやパフォーマンス低下の通知を設定します。
特に、ライセンスキーを使用する場合、本番環境でのデプロイでは、適切なロギングにより、スムーズな操作と迅速な問題解決が保証されます。
よくあるロギングの問題のトラブルシューティング
カスタムロギングで問題が発生した場合
- ロガーが
ILoggerインターフェースを正しく実装していることを確認します - IronPDF操作の前に、
LoggingModeが設定されていることを確認してください。 - ロガーが並行処理のためにスレッドセーフであることを確認する
- ファイルや外部システムに書き込む場合は、ログのパーミッションを確認してください。
その他のトラブルシューティングリソースについては、トラブルシューティングガイドを参照するか、APIリファレンスのロギングプロパティとメソッドの詳細なドキュメントを参照してください。
次に何ができるのかを見てみましょうか? チュートリアルのページはこちらをご覧ください:追加機能。
よくある質問
C#のカスタムロギングとは何ですか、そしてそれはPDF処理でどのように動作しますか?
IronPDFのC#でのカスタムロギングにより、PDF処理のイベントやメッセージをキャプチャするカスタマイズされたロギングシステムを実装することができます。LoggingModeをCustomに設定し、ロガーの実装を割り当てることで、IronPDFはすべてのPDF生成と操作のログをカスタムロガーにリダイレクトし、NLog、Serilog、log4netのような既存のロギングインフラとの統合を可能にします。
PDF操作のカスタムログを有効にするには?
IronPDFでカスタムロギングを有効にするには、IronSoftware.Logger.LoggingModeをLoggingModes.Customに設定し、カスタムロガークラスをIronSoftware.Logger.CustomLoggerに割り当てます。一度設定すると、HTMLからPDFへの変換やPDF操作を含むすべてのIronPDF操作は自動的にカスタムロガーを通してログメッセージを送信します。
PDF生成にカスタムロギングを実装する利点は何ですか?
IronPDFのカスタムロギングでは、PDF処理イベントの追跡方法を完全にコントロールできます。複数のコンポーネントからのログを一元管理し、カスタム書式を適用し、重大度レベルでフィルタリングし、ファイル、データベース、監視サービスなどの特定の宛先にログをルーティングし、アプリケーションのログ機能を強化することができます。
PDF 処理ログを既存のロギングフレームワークと統合できますか?
IronPDFのカスタムロギング機能は、NLog、Serilog、log4net、またはカスタムロギングソリューションを含む一般的なロギングフレームワークとシームレスに統合します。これにより、PDF処理操作に関する重要な情報を取得しながら、アプリケーション全体で一貫したロギングパターンを保証します。
カスタムロギングを実装するための最小限のワークフローは何ですか?
最小限のワークフローは以下の5ステップです:NuGetからIronPDFをダウンロードし、LoggingModeをLoggingModes.Customに設定し、CustomLoggerをカスタムロガーオブジェクトに割り当てます。最後に、IronPDF操作のログを見るためにログメッセージを出力してください。

