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
Rotating Files (recommended for production)
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.