Joutsen Logging v0.5.0+22-gec3d058
Public Member Functions | Protected Member Functions | List of all members
Joutsen.Logging.AsyncLogger Class Reference

A logger that uses the async framework to handle writing of log records. More...

Public Member Functions

 AsyncLogger ()
 Creates a new instance of the logger. More...
 
override Guid Log (LogRecord record)
 
override void Dispose ()
 Waits until all async tasks are completed before disposingof resources. More...
 
- Public Member Functions inherited from DefaultLogger
 DefaultLogger ()
 
void AddHandler (Handler handler)
 Adds a new output handler which will be notified whenever a log record should be written. More...
 
void RemoveHandler (Handler handler)
 Removes an output handler that should no longer be notified to write log records. More...
 
override void Dispose ()
 Frees all handlers and resources. More...
 
- Public Member Functions inherited from AbstractLogger
abstract void Dispose ()
 
virtual Guid Log (LogRecord record)
 
Guid Log (LogLevel level, string message, params object[] parameters)
 
Guid Log (LogLevel level, string message, object parameter)
 
Guid Log (LogLevel level, string message, Map< string, object > parameters)
 
Guid Log (LogLevel level, string message, IEnumerable listParameter)
 
Guid Error (Exception exception, string message, Map< string, object > parameters)
 
Guid Error (Exception exception, string message, object parameter)
 
Guid Error (Exception exception, string message, params object[] parameters)
 
Guid Error (Exception exception)
 
Guid Error (string message, Map< string, object > parameters)
 
Guid Error (string message, object parameter)
 
Guid Error (string message, params object[] parameters)
 
Guid Error (string message, IEnumerable listParameter)
 
Guid Warning (string message, Map< string, object > parameters)
 
Guid Warning (string message, object parameter)
 
Guid Warning (string message, params object[] parameters)
 
Guid Warning (string message, IEnumerable listParameter)
 
Guid Info (string message, Map< string, object > parameters)
 
Guid Info (string message, object parameter)
 
Guid Info (string message, params object[] parameters)
 
Guid Info (string message, IEnumerable listParameter)
 
Guid Detail (string message, Map< string, object > parameters)
 
Guid Detail (string message, object parameter)
 
Guid Detail (string message, params object[] parameters)
 
Guid Detail (string message, IEnumerable listParameter)
 
Guid Verbose (string message, Map< string, object > parameters)
 
Guid Verbose (string message, object parameter)
 
Guid Verbose (string message, params object[] parameters)
 
Guid Verbose (string message, IEnumerable listParameter)
 

Protected Member Functions

void LogAsync (LogRecord record)
 Logs a record using the async framework. More...
 
- Protected Member Functions inherited from DefaultLogger
override bool IsLoggable (LogRecord record)
 Checks if a record is loggabe by this instance of a logger. More...
 
virtual bool IsLoggable (LogRecord record)
 Checks if a record is loggabe by this instance of a logger. More...
 

Additional Inherited Members

- Properties inherited from DefaultLogger
virtual Filter Filter [get, set]
 The filter for the records passed to the logger. More...
 
- Events inherited from AbstractLogger
Action< LogRecord > Publish
 

Detailed Description

A logger that uses the async framework to handle writing of log records.

Remarks
This logger can reduce the performance impact of writing log entries on systems that can easily handle multiple threads.
Since
0.4.0

Constructor & Destructor Documentation

◆ AsyncLogger()

Joutsen.Logging.AsyncLogger.AsyncLogger ( )

Creates a new instance of the logger.

Member Function Documentation

◆ Dispose()

override void Joutsen.Logging.AsyncLogger.Dispose ( )
virtual

Waits until all async tasks are completed before disposingof resources.

Implements AbstractLogger.

◆ Log()

override Guid Joutsen.Logging.AsyncLogger.Log ( LogRecord  record)

◆ LogAsync()

void Joutsen.Logging.AsyncLogger.LogAsync ( LogRecord  record)
protected

Logs a record using the async framework.

Parameters
recordthe record to be logged
Remarks
The method information will still be loaded in the main thread because it is usually not available in other threads. If obtaining this information is the biggest performance impact, it might be better to use a synchronous logger.