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-log for log primitives (Entry, Target, Destination).

  • enumeration for LogLevel values.