plugin-loglet

Loglet.io is a centralized encrypted log management system that stores all your application logs in a single place, encrypted, streaming them in your browser.

The Loglet.io project uses UNLOQ.io personal encryption keys to generate shared secret keys, used to perform end-to-end encryption (above TLS) from your node.js apps to your browser. In this scenario, the loglet.io servers are working in zero-knowledge state.

The plugin was created to seamlessly integrate your application with loglet.io. For a more extensive view on how the logs are going to be sent, visit the repo.

Installation and usage
# install the plugin
npm i --save thorin-plugin-loglet@1.x
'use strict';
// app.js entry file
const thorin = require('thorin');

thorin.addPlugin(require('thorin-plugin-loglet'));   // <-- add this line
thorin.run((err) => {});
Getting started
  • Download the UNLOQ app from the App Store or from Google Play and create an account
  • Login with UNLOQ at loglet.io
  • Create an application with an environment and a minimal description. A default API key will be generated for you
  • Click the view icon on your generated API key and use the provided API Key and Secret, or the full Bearer token as credentials.
  • You now have centralized logging for your application
Default configuration
  • enabledtrue should log events be streamed or not.
  • boottrueby default, the logger will send a BOOT event, marking the boot of your app
  • ignore[]an array of logger names to ignore when streaming logs.
  • keyprocess.env.LOGLET_KEY the API key (short key) of your loglet application or the Bearer token (the long key)
  • secretprocess.env.LOGLET_SECRETthe API Secret of your loglet application. This works when providing the short API Key
Plugin functionality
pluginObj.disable()
Temporary disable the log streaming, stopping any log from exiting the app
pluginObj.enable()
Re-enables the log streaming.
Log entry information

By default, the plugin will send the following information inside a log entry. Additional informatino can also be sent when logging.

  • namethorin.idthe ID of your thorin application
  • namespacedefault the namespace used when calling thorin.logger(namespace)
  • message the string message resulted from calling log functions
  • data additional data that will be sent
  • tagsarray(string)additional tags that can be attached to the log entry
  • errorerorr an instance of an Error or a thorin error that will be sent.
'use strict';
log.info('Simple message');
log.warn('Some weird stuff happened', {
   tags: ['something','weird']
});
log.error('Oh well...', {
   data: {
      yourOwn: 'custom logger',
      id: 2333
   }
});
log.fatal('Fudge....', {
   error: new Error("An error with its stacktrace captured"),
   tags: ['somewhere-in-the-app']
});
Do you have a question or is something missing?

You can always create a new issue on GitHub or contact one of the core founders by chat.