Table of Contents

Namespace FishMMO.Logging

Classes

ConsoleFormatter

Implements IConsoleFormatter to handle the specific formatting and coloring of log entries for System.Console output.

ConsoleFormatterHelpers

Provides shared helper methods and constants for console formatting, used by both ConsoleFormatter and UnityConsoleFormatter to ensure consistent output.

EmailLogger

Implements ILogger to send critical/error log entries as emails to specified recipients. Email sending is asynchronous and non-blocking.

EmailLoggerConfig

Configuration for the EmailLogger.

FileLogger
FileLoggerConfig

Configuration for the FileLogger.

ILoggerConfigConverter

Custom JsonConverter for ILoggerConfig to handle polymorphic deserialization. It relies on external registration of concrete ILoggerConfig types, removing the need for internal reflection.

Log

Manages multiple ILogger implementations, dispatching log entries to all configured loggers. This acts as the central logging hub for the application.

LogEntry

Represents a single log entry with structured information.

LoggingConfig

Overall logging configuration, bundling individual logger configs dynamically. This is where you configure which loggers are active and their specific settings.

LoggingManagerConfig

Configuration for the LoggingManager itself.

Interfaces

IConsoleFormatter

Defines the interface for formatting and writing log entries to the console.

ILogger

Defines the interface for a logging service.

ILoggerConfig

Defines the common interface for all logger configurations. This allows for a flexible list of different logger types in the main LoggingConfig.

Enums

LogLevel

Defines the severity level of a log entry.