Logging
Energy.Core.Log provides a structured logging framework with multiple destinations. The default logger is a singleton accessible through Energy.Core.Log.Default.
Default logger
Energy.Core.Log.Default.Write("Application started");
Energy.Core.Log.Default.Write(Energy.Enumeration.LogLevel.Error, "Something went wrong");
Logger
Energy.Core.Log.Logger is the main logger class. It holds a list of Energy.Base.Log.Entry items and a Destination collection of targets.
Energy.Core.Log.Logger logger = new Energy.Core.Log.Logger();
logger.Setup("app.log", true, null);
logger.Add("Message", Energy.Enumeration.LogLevel.Message);
logger.Flush();
Setup
bool Setup(string file, bool console, EventHandler eventHandler)
Quickly configure file, console, and event targets.
Targets
| Target | Description |
|---|---|
Energy.Core.Log.Target.Trace |
Writes to System.Diagnostics.Trace. |
Energy.Core.Log.Target.File |
Writes to a file. |
Energy.Core.Log.Target.Console |
Writes to the console. |
Energy.Core.Log.Target.Event |
Raises an event handler. |
Energy.Core.Log.Logger logger = new Energy.Core.Log.Logger();
logger.Destination.Add(new Energy.Core.Log.Target.Console
{
Immediate = true,
Background = true,
});
logger.Destination.Add(new Energy.Core.Log.Target.File
{
Path = "app.log",
Immediate = true,
});
Methods
| Method | Description |
|---|---|
Add(Entry) |
Add a log entry. |
Add(Exception) |
Add an exception entry. |
Add(string, LogLevel) |
Add a message with severity. |
Add(string, int) |
Add a message with numeric severity. |
Flush() |
Save entries to all destinations and clean the buffer. |
Clean() |
Remove entries that were written to all destinations. |
ToString() |
Return the buffered entries as text. |
See also
base-logfor log primitives (Entry,Target,Destination).enumerationforLogLevelvalues.