customlogging.coffee
1017 Bytes
###
A basic custom logging implementation. The idea is to (extremely) verbosely log
every received resource.
###
casper = require("casper").create
###
Every time a resource is received, a new log entry is added to the stack at
the 'verbose' level.
###
onResourceReceived: (self, resource) ->
infos = []
props = [
"url"
"status"
"statusText"
"redirectURL"
"bodySize"
]
infos.push resource[prop] for prop in props
infos.push "[#{header.name}: #{header.value}]" for header in resource.headers
@log infos.join(", "), "verbose"
verbose: true # we want to see the log printed out to the console
logLevel: "verbose" # of course we want to see logs to our new level :)
### add a new 'verbose' logging level at the lowest priority ###
casper.logLevels = ["verbose"].concat casper.logLevels
### test our new logger with google ###
casper.start "http://www.google.com/"
casper.run()