onInitialise method
Implementation
@override
void onInitialise(LoggerSettings settings) {
try {
if (_logger != null) {
return;
}
LogPrinter? printer;
switch (settings.printer) {
case LoggerPrinter.simple:
printer = SimplePrinter(printTime: !kDebugMode);
break;
case LoggerPrinter.pretty:
printer = PrettyPrinter();
break;
case LoggerPrinter.fmt:
printer = LogfmtPrinter();
break;
}
late MultiOutput outputs;
if (settings.enableConsoleOutput && settings.enableFileOutput) {
outputs = MultiOutput([
LoggerObservabilityOutput(),
LoggerFileOutput(),
]);
} else if (settings.enableConsoleOutput) {
outputs = MultiOutput([
LoggerObservabilityOutput(),
ConsoleOutput(),
]);
} else if (settings.enableFileOutput) {
outputs = MultiOutput([
LoggerObservabilityOutput(),
LoggerFileOutput(),
]);
} else {
outputs = MultiOutput([
LoggerObservabilityOutput(),
]);
}
_logger = Logger(
level: Level.values[settings.minimumLogLevel.index],
printer: printer,
output: outputs,
filter: kDebugMode ? DevelopmentFilter() : ProductionFilter(),
);
} catch (e) {
if (kDebugMode) print('Error: $e');
}
}