cable_stackdriver

Cable for Stackdriver (Google Cloud Logging)


Keywords
dart, dartlang, flutter, google, google-cloud, google-cloud-logging, logger, logging
License
BSD-3-Clause

Documentation

cable_stackdriver

Build Status Pub Package Version Latest Dartdocs

A Google Stackdriver logging plugin for the cable logging framework.

Installation

Add cable_stackdriver in your [pubspec.yaml][pubspec] file:

dependencies:
  cable_stackdriver: ^0.1.0

And that's it! See usage for details.

Usage

You can use Stackdriver on the server with a Google Cloud service account.

Once you have a <key>.json file, with the scope https://www.googleapis.com/auth/logging.write, you can create a Stackdriver object:

import 'dart:async';

import 'package:cable_stackdriver/cable_stackdriver.dart';

Future<Null> main() async {
  final jsonConfig = loadJsonFile();
  final stackdriver = await Stackdriver.serviceAccount<String>(jsonConfig);
  final logger = new Logger(
    destinations: [
      // Also write to console.
      stackdriver,
    ],
    // This exact format is required to log to Google cloud.
    name: 'projects/${jsonConfig['project_id']}/logs/example',
  );

  // You can now use the logger.
  logger.log('Hello World', severity: Severity.warning);

  // Wait until there are no more pending messages being written.
  await stackdriver.onIdle;
  logger.close();
}

Contributing

We welcome a diverse set of contributions, including, but not limited to:

For the stability of the API and existing users, consider opening an issue first before implementing a large new feature or breaking an API. For smaller changes (like documentation, minor bug fixes), just send a pull request.

Testing

All pull requests are validated against travis, and must pass.

Ensure code passes all our analyzer checks:

$ dartanalyzer .

Ensure all code is formatted with the latest dev-channel SDK.

$ dartfmt -w .

Run all of our unit tests (IN PROGRESS):

$ pub run test