Classes for debug and diagnostic operations written in C#.
Name | Targets on |
---|---|
master (current) | C# 4.0 |
CSharp5 | C# 5.0, .NET 4.5 |
NetCore5 | C# 6.0, .NET Core 5 |
Portable8 | C# 4.0, .NET 4.5, Silverlight 5, Windows 8, Windows Phone 8.1 + 8 (Silverlight) |
Executes a list of loggers.
var subLogger1 = new NullLogger();
var subLogger2 = new EventLogger();
subLogger2.MessageReceived += (sender, e) =>
{
//TODO
};
var logger = new AggregateLogger();
logger.AddLogger(subLogger1);
logger.AddLogger(subLogger2);
Wraps a logger and runs each log operation of it in background.
Uses a delegate to handle a log operation.
static class LogHandler {
public static void MyLogAction(DelegateLogger logger, ILogMessage msg, ref bool success) {
//TODO
}
}
var logger = new DelegateLogger(LogHandler.MyLogAction);
Fires an event when a log operation is made.
var logger = new EventLogger();
logger.MessageReceived += (sender, e) =>
{
// e.Message contains the log message
};
Wraps a main logger and uses an alternate logger if that main logger fails.
// the main logger
var mainLogger = new EventLogger();
mainLogger.MessageReceived += (sender, e) =>
{
// lets make this logger fail
throw new NotImplementedException();
};
// the fallback logger
var alternateLogger = new TextLogger(Console.Out);
var logger = new FallbackLogger(mainLogger,
alternateLogger);
A logger that does nothing.
A thread safe logger.
Uses a TextWriter or a Stream instance to write a log message.
// write to console
var consoleLogger = new TextLogger(Console.Out);
// write to file
var fileLogger = new TextLogger(new FileStream("./logfile.txt"));