FileLogStorage constructor
FileLogStorage({
- required String directory,
- String? sessionId,
- Map<
String, Object?> ? meta, - int minLevel = LogLevels.all,
- int? maxTotalSize,
- int maxSessionSize = 10 * 1024 * 1024,
- int maxChunkSize = 1024 * 1024,
- Duration? maxAge = const Duration(days: 7),
- FileLogDataFormat dataFormat = FileLogDataFormat.text,
- LogMainTheme? theme,
- LoggableConfig config = const LoggableConfig(),
- LoggableJsonConfig jsonConfig = const LoggableJsonConfig(),
- void onError(
- Object error,
- StackTrace stackTrace
Implementation
FileLogStorage({
required this.directory,
String? sessionId,
this.meta,
this.minLevel = LogLevels.all,
this.maxTotalSize,
this.maxSessionSize = 10 * 1024 * 1024,
this.maxChunkSize = 1024 * 1024,
this.maxAge = const Duration(days: 7),
FileLogDataFormat dataFormat = FileLogDataFormat.text,
LogMainTheme? theme,
LoggableConfig config = const LoggableConfig(),
LoggableJsonConfig jsonConfig = const LoggableJsonConfig(),
super.onError,
}) : assert(maxChunkSize > 0, 'maxChunkSize must be positive'),
assert(
maxSessionSize >= 2 * maxChunkSize,
'maxSessionSize must fit at least two chunks '
'(maxSessionSize >= 2 * maxChunkSize)',
),
assert(
maxTotalSize == null || maxTotalSize >= maxSessionSize,
'maxTotalSize must be >= maxSessionSize',
),
_codec = FileLogCodec(
dataFormat: dataFormat,
theme: theme,
config: config,
jsonConfig: jsonConfig,
),
_started = clock.now() {
_sessionId = sanitizeSessionId(sessionId ?? defaultSessionId(_started));
// Инициализация стартует в фоне, future сохраняется в [ready].
// ignore: discarded_futures
ready = _init();
}