flex_logger_file library

File logging provider for FlexLogger.

This library provides file-based logging capabilities for FlexLogger, allowing you to write logs to local files with multiple storage strategies.

Available Strategies

  • SingleFileStrategy - Single file with optional cleanup based on size/age
  • RotatingFileStrategy - Multiple files with size-based rotation (recommended)
  • TimeBasedFileStrategy - Daily log files for easy date-based lookup

Quick Start

final provider = FileLoggerProvider.rotating(
  filePath: '/logs/app.log',
  maxFileSize: 5 * 1024 * 1024, // 5 MB per file
  maxBackupCount: 10, // Keep 10 backup files
);

Daily Files

final provider = FileLoggerProvider.timeBased(
  directoryPath: '/logs',
  filePrefix: 'myapp',
  maxAge: Duration(days: 30),
);

Single File

final provider = FileLoggerProvider.singleFile(
  filePath: '/logs/app.log',
  maxFileSize: 10 * 1024 * 1024, // Optional: 10 MB limit
  maxAge: Duration(days: 7), // Optional: 7 day limit
);

Custom Strategy

Implement FileStrategy for custom logging behavior:

class MyCustomStrategy implements FileStrategy {
  // ... implementation
}

final provider = FileLoggerProvider(
  strategy: MyCustomStrategy(),
);

Classes

DateFormat
DateFormat is for formatting and parsing dates in a locale-sensitive manner.
FileFormatter
Default formatter for file log entries.
FileLoggerProvider
A provider that writes logs to files on disk.
FileObserver
A FlexObserver that writes logs to files using a configurable strategy.
FileStrategy
Base class for file logging strategies.
RotatingFileStrategy
Rotating file logging strategy.
SingleFileStrategy
Single file logging strategy with optional cleanup.
TimeBasedFileStrategy
Time-based file logging strategy.