An unofficial wrapper for using Rapid7 insightOps logs (former LogEntries) with Dart.
This package is using logging package to do the actual logging, and implements a handler to post the message to insightOps.
Set up a new log by following the instructions, copy a URL that you will use to send your log data to.
A simple usage example:
import 'package:insightops_dart/insightops_dart.dart';
import 'package:logging/logging.dart';
main() {
// Create handler and pass the URL from log settings.
final handler = InsightOpsLogger('__LOG_URL__');
// Define settings for the logger.
Logger.root.level = Level.ALL;
Logger.root.onRecord.listen(handler);
// Create logger.
final logger = Logger('Test logger');
// Log info message.
logger.info('test message');
// Log errors with stacktrace.
try {
throw Error();
} catch (e, stackTrace) {
logger.severe('Test failure', e, stackTrace);
}
}
You can optionally pass transformBody
parameter to the constructor. This method will be called with each request with
the body of the message. You can use it to update the body:
final handler = InsightOpsLogger(
'__LOG_URL__',
transformBody: (body) async =>
{
'meta': {'deviceId': 'ID'},
...body,
},
);
Please file feature requests and bugs at the issue tracker.