Table of Contents

Namespace VpnHood.Net.Toolkit.Logging

Classes

ConsoleLogger

Provides a logger that writes each message as a line to the console, in the level's color where the console has colors.

ConsoleLoggerProvider

Provides the console's logger, as a TextLoggerProvider over a ConsoleLogger.

FileLogger

Provides the process's log file: opened at each start request, in place of what it had or after it, and closed at stop; closed, it takes nothing.

LogLevelJsonConverter

Converts a log level by its name; a level this side does not know reads as Information.

LogScope

Represents a log scope's data: name and value pairs.

LogService

Provides the process's log file and applies the user's log settings, for an app or for a VPN service in a process of its own.

LogServiceOptions

Provides the user's log settings, which LogService applies.

SyncLogger

Provides a logger that lets one thread at a time into the logger behind it. A failure of its Log is written to the console instead of thrown; BeginScope and IsEnabled pass a failure on.

TextLogger

Provides a logger that makes a line's text once, for the logger behind it: the time in UTC, the category, the level and the scopes, the event's name, the message and the exception; it hands that over as the message.

TextLoggerProvider

Provides a destination's loggers: a TextLogger per category over the destination's logger, so a destination is a plain logger and a line of provider.

TraceLogger

Provides a logger that writes to Trace, except on Linux.

TraceLoggerProvider

Provides the trace's logger, as a TextLoggerProvider over a TraceLogger.

VhLogger

Provides the process's one log, and the formatting that keeps identifying values out of it.

Interfaces

ISelfLog

Represents an object that writes its own state to the log.