Skip to content
This repository was archived by the owner on Jan 7, 2024. It is now read-only.

Shuttle/Shuttle.Core.Logging

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Shuttle.Core.Logging

PM> Install-Package Shuttle.Core.Logging

The Shuttle.Core.Logging project provides an abstract mechanism that can be used to implement any logging such as a Log4Net implementation. You would typically reference this package directly when you need to create your own ILog implementation. You may wish to make use of the ConsoleLog or EventLog implementations in this package from time-to-time.

In this way all logging can be performed through the ILog interface and accompanying Log singleton without relying on any specific implementation. Developer can then make use any implementation.

Since there is some boilerplate code implementors may make use of the AbstractLog class to implement a new concrete logging mechanism:

public abstract class AbstractLog : ILog
{
	// boilerplate
}

Assigning a logging mechanism

If no log is assigned or if a null is assigned the NullLog.Instance will be used. As may be deduced from the name this log does not do anything.

Assign

public static void Assign(ILog instance)

This assigns the log to use for the duration of the execution.

AssignTransient

public static TransientLog AssignTransient(ILog instance)

Returns a IDisposable instance that returns the log to the previous instance on dispose. This may be usefull for testing purposes where you may want to use a mock object and ensure that certain bits are logged.

ConsoleLog

The ConsoleLog class outputs all loggin go the console window.

EventLog

The EventLog class provides hooks by way of the LoggerDelegate that allows simple access to the logged messages.

About

Logging adapter.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages