save method
Saves log messages from the cache.
messages
a list with log messages Return Future that receives null for success. Throws error
Implementation
@override
Future save(List<LogMessage> messages) async {
if (!isOpen() && messages.isEmpty) {
return null;
}
await _createIndexIfNeeded('elasticsearch_logger', false);
var logItem = getLogItem();
var bulk = <Doc>[];
for (var message in messages) {
var doc = Doc(logItem['_id'], message.toJson(),
index: logItem['_index'], type: logItem['_type']);
bulk.add(doc);
}
var compleate = await _client!.bulk(updateDocs: bulk);
if (!compleate) {
throw ApplicationException('Logger', 'elasticsearch_logger', 'SAVE_ERROR',
'Can\'t save log messages to Elasticsearch server!');
}
}