| 1234567891011121314151617181920212223242526272829303132 |
- bunyan = require('bunyan')
- module.exports = Logger =
- initialize: (name) ->
- @logger = bunyan.createLogger
- name: name
- serializers: bunyan.stdSerializers
- return @
-
- initializeErrorReporting: (sentry_dsn, options) ->
- raven = require "raven"
- @raven = new raven.Client(sentry_dsn, options)
-
- info : ()->
- @logger.info.apply(@logger, arguments)
- log : ()->
- @logger.info.apply(@logger, arguments)
- error: (attributes, args...)->
- @logger.error(attributes, args...)
- if @raven?
- error = attributes.err or attributes.error
- if error?
- tags = {}
- for key, value of attributes
- tags[key] = value if key.match(/_id/) and typeof value == 'string'
- @raven.captureError(error, tags: tags, extra: attributes)
- err: ()->
- @logger.error.apply(@logger, arguments)
- warn: ()->
- @logger.warn.apply(@logger, arguments)
- Logger.initialize("default-sharelatex")
|