# Library Foundation

# Package Logging

## Overview

Classes: ArchiveByNumberStrategy, ArchiveByTimestampStrategy, ArchiveStrategy, AsyncChannel, Channel, ColorConsoleChannel, Configurable, ConsoleChannel, EventChannel, EventLogChannel, FastLogger, FileChannel, Formatter, FormattingChannel, JSONFormatter, LogFile, LogIOS, LogStream, LogStreamBuf, Logger, LoggingFactory, LoggingRegistry, Message, NullChannel, NullPurgeStrategy, NullRotateStrategy, PatternFormatter, PurgeByAgeStrategy, PurgeByCountStrategy, PurgeStrategy, RotateAtTimeStrategy, RotateByIntervalStrategy, RotateBySizeStrategy, RotateStrategy, SimpleFileChannel, SplitterChannel, StreamChannel, SyslogChannel, WindowsColorConsoleChannel, WindowsConsoleChannel

Functions: swap

## Classes

### class ArchiveByNumberStrategy

A monotonic increasing number is appended to the log file name.

### class ArchiveByTimestampStrategy

A timestamp (YYYYMMDDhhmmssiii) is appended to archived log files.

### class ArchiveStrategy

The ArchiveStrategy is used by FileChannel to rename a rotated log file for archiving.

### class AsyncChannel

A channel uses a separate thread for logging.

### class Channel

The base class for all Channel classes.

### class ColorConsoleChannel

A channel that writes to an ostream.

### class Configurable

A simple interface that defines getProperty() and setProperty() methods.

### class ConsoleChannel

A channel that writes to an ostream.

### class EventChannel

The EventChannel fires the messageLogged event for every log message received.

### class EventLogChannel

This Windows-only channel works with the Windows NT Event Log service.

### class FastLogger

FastLogger is a high-performance drop-in replacement for Poco::Logger that uses the Quill logging library internally.

### class FileChannel

A Channel that writes to a file.

### class Formatter

The base class for all Formatter classes.

### class FormattingChannel

The FormattingChannel is a filter channel that routes a Message through a Formatter before passing it on to the destination channel.

### class JSONFormatter

This formatter formats log messages as compact (no unnecessary whitespace) single-line JSON strings.

### class LogFile

This class is used by FileChannel to work with a log file.

### class LogIOS

The base class for LogStream.

### class LogStream

This class implements an ostream interface to a Logger.

### class LogStreamBuf

This class implements a streambuf interface to a Logger.

### class Logger

Logger is a special Channel that acts as the main entry point into the logging framework.

### class LoggingFactory

An extensible factory for channels and formatters.

### class LoggingRegistry

A registry for channels and formatters.

### class Message

This class represents a log message that is sent through a chain of log channels.

### class NullChannel

The NullChannel is the /dev/null of Channels.

### class NullPurgeStrategy

### class NullRotateStrategy

### class PatternFormatter

This Formatter allows for custom formatting of log messages based on format patterns.

### class PurgeByAgeStrategy

This purge strategy purges all files that have exceeded a given age (given in seconds).

### class PurgeByCountStrategy

This purge strategy ensures that a maximum number of archived files is not exceeded.

### class PurgeStrategy

The PurgeStrategy is used by FileChannel to purge archived log files.

### class RotateAtTimeStrategy

The file is rotated at specified [day,][hour]:minute

### class RotateByIntervalStrategy

The file is rotated when the log file exceeds a given age.

### class RotateBySizeStrategy

The file is rotated when the log file exceeds a given size.

### class RotateStrategy

The RotateStrategy is used by LogFile to determine when a file must be rotated.

### class SimpleFileChannel

A Channel that writes to a file.

### class SplitterChannel

This channel sends a message to multiple channels simultaneously.

### class StreamChannel

A channel that writes to an ostream.

### class SyslogChannel

This Unix-only channel works with the Unix syslog service.

### class WindowsColorConsoleChannel

A channel that writes to the Windows console.

### class WindowsConsoleChannel

A channel that writes to the Windows console.