logger top-level property
Logger
get
logger
Fetches the logger instance.
Implementation
Logger get logger {
if (_logger != null) {
return _logger!;
}
hierarchicalLoggingEnabled = true;
_logger = Logger('DSA');
_logger?.onRecord.listen((record) {
var lines = record.message.split('\n');
var inlineErrors = _getLogSetting(record, 'dsa.logger.inline_errors', true);
var enableSequenceNumbers = _getLogSetting(
record,
'dsa.logger.sequence',
false,
);
if (inlineErrors) {
if (record.error != null) {
lines.addAll(record.error.toString().split('\n'));
}
if (record.stackTrace != null) {
lines.addAll(
record.stackTrace
.toString()
.split('\n')
.where((x) => x.isNotEmpty)
.toList(),
);
}
}
String? rname = record.loggerName;
if (record.zone?['dsa.logger.name'] is String) {
rname = record.zone?['dsa.logger.name'];
}
var showTimestamps = _getLogSetting(
record,
'dsa.logger.show_timestamps',
false,
);
if (!_getLogSetting(record, 'dsa.logger.show_name', true)) {
rname = null;
}
for (var line in lines) {
var msg = '';
if (enableSequenceNumbers) {
msg += '[${record.sequenceNumber}]';
}
if (showTimestamps) {
msg += '[${record.time}]';
}
msg += '[${record.level.name}]';
if (rname != null) {
msg += '[${rname}]';
}
msg += ' ';
msg += line;
if (_getLogSetting(record, 'dsa.logger.print', true)) {
print(msg);
}
}
if (!inlineErrors) {
if (record.error != null) {
print(record.error);
}
if (record.stackTrace != null) {
print(record.stackTrace);
}
}
});
UpdateLogLevel(
const String.fromEnvironment(
'dsa.logger.default_level',
defaultValue: 'INFO',
),
);
return _logger!;
}