Name: binder-logging
Owner: Binder
Description: Consistent logging functions for all Node-based Binder modules
Created: 2016-01-11 01:18:50.0
Updated: 2016-01-15 23:51:31.0
Pushed: 2017-08-18 01:59:06.0
Homepage: null
Size: 20
Language: JavaScript
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
:books: Same functionality. Better performance for you. :books:
Over the past few months, we've been improving Binder's architecture and infrastructure. We're retiring this repo as it will no longer be actively developed. Future development will occur under the JupyterHub organization.
Thanks for updating your bookmarked links.
Consistent logging reader/writer functions for all Node-based Binder modules
Takes a configuration file (the default version in conf/example.main
) that specifies how to
The example configuration file included in the module has these defaults:
ost": "localhost",
esting": true,
ogstash": {
"port": 8050,
"configDir": "~/binder-control/services/logging/logstash/"
lasticsearch": {
"port": 8052,
"dir": "/data/binder/elasticsearch"
ibana": {
"port": 8053
treaming": {
"port": 2121
binder-control
can launch Docker containers for Elasticsearch, Logstash and Kibana (with the same default values) through the binder-control start-service logging
command. If you'd prefer to use existing logging infrastructure, specify the custom host/port in the config file.
If testing
is enabled, the Winston logger will output to both Logstash and stdout (only Logstash otherwise).
install binder-logging
lib/reader.js
contains functions that wrap Elasticsearch queries to make it simpler to search through Binder logs. If you'd prefer to monitor a realtime stream of build logs, the streamLogs
function is available (which will connect to Logstash's WebSocket output).
BinderLogReader.getLogs(opts, cb)
Get all historical logs, optionally matching an app name and optionally between before/after times
app
string - app name to filter onbefore
string - ISO8601 GMT timestampafter
string - ISO8601 GMT timestampcb
function - callback(err, msgs)BinderLogReader.streamLogs(opts)
Stream logs for a given app (mandatory option), optionally since an after
timestamp. Returns a through stream
app
string - app name to filter onafter
string - ISO8601 GMT timestampgetReader = require('binder-logging/lib/reader')
reader = getReader({ host: '<custom logging host>' })
lib/writer.js
exposes a getInstance
function that will return a Winston logger given a logger name. This logger exposes the standard logging api (logger.info
, logger.error
, …).
getInstance(name)
Returns a Winston logger that's connected to the Binder logging stack
name
string - logger name (one logger will be created per name, per process)getLogger = require('binder-logging/lib/writer')
logger = getLogger('<logger name>')
er.info('this is an info message')