Skip to content

IFullLogger interface

Defined in

Namespace: Splat Assembly: Splat.Logging.dll Full name: Splat.IFullLogger Modifiers: public abstract

Summary

        Defines a comprehensive logging interface that provides methods for emitting log messages at various severity
        levels, including Debug, Info, Warn, Error, and Fatal. Supports structured, formatted, and exception-based logging,
        as well as deferred message evaluation for performance optimization.
        

Applies to

net10.0, net10.0-browserwasm1.0, net10.0-desktop1.0, net9.0, net9.0-browserwasm1.0, net9.0-desktop1.0, net8.0, net8.0-ios17.5, net8.0-maccatalyst17.5, net8.0-macos14.2, net8.0-macos14.5, net8.0-tvos17.2, netstandard2.1, net462, net481

Class hierarchy
classDiagram
class IFullLogger
class IAllocationFreeLogger {
    <>
}
IAllocationFreeLogger <|.. IFullLogger
class IAllocationFreeErrorLogger {
    <>
}
IAllocationFreeErrorLogger <|.. IFullLogger
class ILogger {
    <>
}
ILogger <|.. IFullLogger

Implements: IAllocationFreeLogger, IAllocationFreeErrorLogger, ILogger

Remarks

The IFullLogger interface extends IAllocationFreeLogger and is designed to support a wide range of logging scenarios, including structured logging, localization control, and efficient message generation. It provides overloads for logging messages with or without exceptions, with formatting arguments, and with deferred execution via delegates. Implementations should ensure that deferred message delegates are only evaluated if the corresponding log level is enabled, to avoid unnecessary computation. This interface is suitable for applications that require detailed and flexible logging capabilities across different log levels.

Methods

NameSummary
DebugEmits a debug log message. This will emit the public contents of the object provided to the log.
DebugExceptionEmits a debug log message. This will emit details about a exception. This type of logging is not able to be localized.
InfoEmits a info log message. This will emit the public contents of the object provided to the log.
InfoExceptionEmits a info log message. This will emit details about a exception. This type of logging is not able to be localized.
WarnEmits a warning log message. This will emit the public contents of the object provided to the log.
WarnExceptionEmits a warning log message. This will emit details about a exception. This type of logging is not able to be localized.
ErrorEmits a error log message. This will emit the public contents of the object provided to the log.
ErrorExceptionEmits a error log message. This will emit details about a exception. This type of logging is not able to be localized.
FatalEmits a fatal log message. This will emit the public contents of the object provided to the log.
FatalExceptionEmits a fatal log message. This will emit details about a exception. This type of logging is not able to be localized.