Namespace Azos.Log
Classes
ErrorLogBatcher
Batches error logging
LogBatcher<TItem>
Batches multiple log items into a smaller (usually single) number of log messages. The primary purpose is to preclude log flooding with repetitive error messages. Items represent log context, such as Exceptions etc. This class is not thread safe, however item addition is thread safe which makes it very convenient for use in places that use Parallel loops and the like.
LogBatcher<TItem>.ItemBatch
Provides data about the batched items, e.g. error count and a list of the first X errored Ids... Items are batched by their CLR Type
LogDaemon
Provides logging services by buffering messages and dispatching them into sinks. This is an asynchronous daemon with its own thread, meaning that Write(msg) never blocks for long.
LogDaemonBase
Based class for implementing test and non-test logging services. Destinations may fail and the message will be failed-over into another destination in the same logger as specified by 'failover' attribute of destination. This attribute is also present on service level. Cascading failover is not supported (failover of failovers). Another consideration is that messages get sent into destinations synchronously by internal thread so specifying too many destinations may limit overall LogService throughput. In complex scenarios consider using LogServiceDestination instead.
Message
Represents a Log message
MessageExtensions
MessageFilterExpression
Defines an expression used for log message filtering. Important: it is not a good practice to create many different scopes as it leads to creation of many assemblies dynamically
NOPLog
Represents log that does not do anything
Interfaces
IArchiveLoggable
Marker interface for entities that can be stored in archives, such as access/telemetry logs
ILog
Describes an entity that accepts log messages
ILogImplementation
Describes entity capable of being written log information to
Enums
MessageType
Stipulates general logging message types like: Info/Warning/Error etc...