Use advanced logging
You can implement ILogger interface from GroupDocs.Redaction.Options namespace. This interface requires to implement three methods:
C#
using GroupDocs.Redaction.Options;
/// <summary>
/// This is an example of ILogger implementation, tracking count of error messages.
/// </summary>
public class CustomLogger : ILogger
{
public List<string> Errors { get; private set; }
public List<string> Traces { get; private set; }
public List<string> Warnings { get; private set; }
public bool HasErrors { get { return Errors.Count > 0; } }
public CustomLogger()
{
Errors = new List<string>();
Traces = new List<string>();
Warnings = new List<string>();
}
public void Error(string message)
{
Errors.Add(message);
}
public void Trace(string message)
{
Traces.Add(message);
}
public void Warning(string message)
{
Warnings.Add(message);
}
}
Once implemented, you can use it to track error log records:
C#
using (Stream stream = File.Open(@"sample.docx", FileMode.Open, FileAccess.ReadWrite))
{
var logger = new CustomLogger();
using (Redactor redactor = new Redactor(stream, new LoadOptions(), new RedactorSettings(logger)))
{
// Here we can use document instance to make redactions
redactor.Apply(new DeleteAnnotationRedaction());
if (!logger.HasErrors)
{
redactor.Save();
}
}
}
More resources
GitHub examples
You may easily run the code above and see the feature in action in our GitHub examples:
Free online document redaction App
Along with full featured .NET library we provide simple, but powerful free Apps.
You are welcome to perform redactions for various document formats like PDF, DOC, DOCX, PPT, PPTX, XLS, XLSX, Emails and more with our free online Free Online Document Redaction App.