monolog
Version:
Log with Monolog
26 lines (23 loc) • 760 B
text/coffeescript
# Injects url/method and remote IP of the current web request in all records
class WebProcessor
# @param {http.Server} server
# @return {monolog.processor.Callback}
constructor:(server)->
###
@type {monolog.processor.Callback}
@param {Object} record
@return {Object} record
###
F = (record)->
record.extra ?= {}
record.extra.url = F.request.url
record.extra.method = F.request.method
record.extra.server = F.request.headers.host
record.extra.referrer = F.request.referrer
record.extra.ip = F.request.headers['x-forwarded-for']||F.request.connection.remoteAddress
return record
F.server = server
F.server.on 'request',(req,res)->
F.request = req
return F
module.exports = WebProcessor