GroupDocs.Redaction for .NETでカスタムロガーc#を実装する

機密情報を扱う際など、文書の赤字処理を効率的に管理することは極めて重要です。このガイドでは、GroupDocs.Redaction for .NET を使用して カスタムロガーc#の実装方法 を学び、ロギング、エラーハンドリング、監査トレイルを完全にコントロールできるようになります。チュートリアルの最後までに、警告、エラー、情報メッセージをキャプチャし、既存の .NET ロギングフレームワークとロガーを統合し、ラスタライズせずに赤字処理された文書を保存できるようになります。

クイック回答

  • カスタムロガーc#は何をしますか? 赤字処理中にエラー、警告、情報メッセージをキャプチャし、検索可能な監査トレイルを提供します。
  • ILoggerインターフェイスを提供するライブラリはどれですか? GroupDocs.Redaction for .NET が ILogger インターフェイスを提供します。
  • ラスタライズせずに赤字処理された文書を保存できますか? はい – redactor.Save(..., new Options.RasterizationOptions { Enabled = false }) を呼び出します。
  • 本番環境で使用するにはライセンスが必要ですか? 本番にはフルライセンスが必要です。評価用にトライアルライセンスが利用可能です。
  • このアプローチは .NET Core / .NET 6+ と互換性がありますか? はい – 同じ API が .NET Framework、.NET Core、.NET 5、.NET 6 で動作します。

カスタムロガーc#とは何ですか?

カスタムロガーc# は、GroupDocs.Redaction が提供する ILogger インターフェイスを実装したクラスです。ログメッセージをコンソール、ファイル、データベース、外部監視システムなど、必要な場所へルーティングでき、赤字処理ワークフロー全体を明確に把握できます。

GroupDocs.Redactionでカスタムロギング .net を使用する理由は?

規制監査を満たし、トラブルシューティングを迅速化する詳細かつ検索可能なログで赤字処理プロセスを強化しましょう。GroupDocs.Redaction は 70 以上の入力および出力フォーマット をサポートし、ファイル全体をメモリに読み込まずに最大 500 ページの文書を処理できるため、適切に設計されたロガーはほとんどオーバーヘッドを増やさず、貴重な可視性を提供します。

前提条件

  • GroupDocs.Redaction for .NET がインストールされていること(以下の Installation セクションをご参照ください)。
  • .NET 開発環境(Visual Studio、VS Code、または .NET CLI)。
  • 基本的な C# の知識とファイルストリームの理解。

インストール

.NET CLI

dotnet add package GroupDocs.Redaction

Package Manager

Install-Package GroupDocs.Redaction

NuGet Package Manager UI
“GroupDocs.Redaction” を検索し、最新バージョンをインストールします。

ライセンス取得

  • 無料トライアル: 一時ライセンスで API をテストします。
  • 一時ライセンス: 限定期間でフル機能にアクセスできます。
  • 購入: 本番展開向けの永続ライセンスを取得します。

ステップバイステップガイド

.NET Core でカスタムロガーを実装する方法は?

CustomLogger クラスを .NET Core プロジェクトにロードし、RedactorSettings に接続します。ロガーは .NET Framework、.NET 5、.NET 6 でも同様に動作するため、すべてのプラットフォームで同じコードを共有できます。

手順 1: カスタムロガークラスを定義する(警告をログする c#)

CustomLogger クラスは ILogger を実装します。
CustomLogger は、赤字処理イベントをキャプチャするために ILogger インターフェイスを実装したユーザー定義クラスです。

using System;
using GroupDocs.Redaction;

class CustomLogger : ILogger
{
    public bool HasErrors { get; private set; }

    // Log errors encountered during processing.
    public void LogError(string message)
    {
        Console.WriteLine("Error: " + message);
        HasErrors = true;
    }

    // Log warnings that may not be critical but need attention.
    public void LogWarning(string message)
    {
        Console.WriteLine("Warning: " + message);
    }

    // Log informational messages for tracking normal operations.
    public void LogInfo(string message)
    {
        Console.WriteLine("Info: " + message);
    }
}

定義アンカー: CustomLogger は ILogger インターフェイスのユーザー定義実装で、赤字処理イベントを記録します。
説明: HasErrors フラグは処理を続行するかどうかの判断に役立ちます。3 つのメソッドは、ほとんどの赤字処理シナリオで必要となる 3 つのログレベルに対応しています。

手順 2: ファイルパスを準備し、ソース文書を開く

string sourceFile = Utils.PrepareOutputDirectory("YOUR_DOCUMENT_DIRECTORY");
string outputFile = Utils.GetOutputFile(sourceFile);

定義アンカー: Redactor は PDF 文書に対して赤字処理操作を実行する GroupDocs.Redaction の主要クラスです。
重要性: ユーティリティメソッドを使用するとコードがすっきりし、赤字処理された文書を保存しようとする前に出力フォルダーが存在することが保証されます。

手順 3: カスタムロガーを使用しながら赤字処理を適用する

using (Stream stream = File.Open(sourceFile, FileMode.Open, FileAccess.ReadWrite))
{
    var logger = new CustomLogger();
    
    using (Redactor redactor = new Redactor(stream, new LoadOptions(), new RedactorSettings(logger)))
    {
        // Apply a redaction to the document.
        redactor.Apply(new DeleteAnnotationRedaction());
        
        if (!logger.HasErrors)
        {
            using (Stream streamOut = File.Open(outputFile, FileMode.OpenOrCreate, FileAccess.ReadWrite))
            {
                // Save changes without rasterizing the output.
                redactor.Save(streamOut, new Options.RasterizationOptions { Enabled = false });
            }
        }
    }
}

直接回答: 赤字処理ワークフローは RedactorSettings(logger) で Redactor インスタンスを作成し、赤字オブジェクトを適用し、logger.HasErrors をチェックし、最後にラスタライズを無効にした redactor.Save を呼び出すことで開始します。このパターンにより、すべてのステップがログに記録され、エラーが発生しなかった場合にのみクリーンな文書が永続化されます。

説明:

  1. Redactor は RedactorSettings(logger) でインスタンス化され、CustomLogger と連携します。
  2. 赤字処理を適用した後、コードは logger.HasErrors をチェックします。エラーがなければ、ラスタライズなしで 赤字処理された文書を保存 するロジックが実行されます。

よくある落とし穴とトラブルシューティング

  • ログ出力がない: 各 Log* メソッドが正しくオーバーライドされているか確認してください。
  • ファイルアクセス例外: アプリケーションがソースと出力パスの両方に対して読み書き権限を持っていることを確認してください。
  • ロガーが接続されていない: RedactorSettings(logger) パラメータは必須です。省略するとカスタムロギングが無効になります。

実用的な活用例

  1. コンプライアンスレポート: 監査トレイル用にログエントリを CSV またはデータベースにエクスポートします。
  2. エラートラッキング: LogError 出力をスキャンして問題のあるファイルを迅速に特定します。
  3. ワークフロー自動化: LogWarning が呼び出されたときに、下流プロセス(例: コンプライアンス担当者への通知)をトリガーします。

パフォーマンスに関する考慮事項

  • ストリームを速やかに破棄 してメモリを解放します。特に大量バッチ処理時に重要です。
  • CPU とメモリを監視 しながら大量の赤字処理を行い、ロガーの同期に注意しつつ並列処理を検討してください。
  • 最新情報を入手: GroupDocs.Redaction の新しいバージョンは、パフォーマンス最適化や追加のロギングフックが含まれることが多いです。

結論

カスタムロガーc# を実装することで、赤字処理パイプラインのすべてのステップに対する詳細な洞察が得られ、コンプライアンス基準の遵守や問題のデバッグが容易になります。ここで示したアプローチは GroupDocs.Redaction for .NET とシームレスに連携し、既存の任意の .NET ロギングフレームワークと統合するよう拡張可能です。


よくある質問

Q: GroupDocs.Redaction でカスタムロギングを行う目的は何ですか?
A: カスタムロギングは詳細な赤字処理イベントをキャプチャし、監査要件を満たし、エラーや警告をリアルタイムで公開することでトラブルシューティングを簡素化します。

Q: カスタムロガーでエラーを処理するにはどうすればよいですか?
A: CustomLogger クラスで LogError を実装します。HasErrors フラグにより、重大な問題が検出された場合に処理を中止できます。

Q: カスタムロギングを他のシステムと統合できますか?
A: はい。ロガーメソッドを拡張することで、ログメッセージを CRM、ERP、または集中監視ツールに転送できます。

Q: カスタムロギング実装時の一般的な落とし穴は何ですか?
A: メソッドのオーバーライド忘れ、RedactorSettings(logger) の渡し忘れ、ファイル権限不足が最も頻繁な問題です。

Q: カスタムロギングは文書の赤字処理ワークフローをどのように改善しますか?
A: 詳細なログはリアルタイムの可視性を提供し、デバッグを効率化し、GDPR や HIPAA などの規制で求められる監査トレイルを生成します。

リソース


最終更新日: 2026-10-01
テスト済み: GroupDocs.Redaction 23.11 for .NET
作者: GroupDocs


関連チュートリアル