logging-manager.coffee 723 B

1234567891011121314151617181920212223242526272829
  1. bunyan = require('bunyan')
  2. module.exports = Logger =
  3. initialize: (name) ->
  4. @logger = bunyan.createLogger
  5. name: name
  6. serializers: bunyan.stdSerializers
  7. return @
  8. initializeErrorReporting: (sentry_dsn) ->
  9. raven = require "raven"
  10. @raven = new raven.Client(sentry_dsn)
  11. info : ()->
  12. @logger.info.apply(@logger, arguments)
  13. log : ()->
  14. @logger.info.apply(@logger, arguments)
  15. error: (attributes, args...)->
  16. @logger.error(attributes, args...)
  17. if @raven?
  18. error = attributes.err or attributes.error
  19. if error?
  20. @raven.captureError(error, attributes)
  21. err: ()->
  22. @logger.error.apply(@logger, arguments)
  23. warn: ()->
  24. @logger.warn.apply(@logger, arguments)
  25. Logger.initialize("default-sharelatex")