2013-03-05 17:10:02 +01:00
|
|
|
/*jshint strict:false*/
|
|
|
|
/*global CasperError console phantom require*/
|
|
|
|
|
|
|
|
/**
|
2012-11-08 17:11:43 +01:00
|
|
|
* A basic custom logging implementation. The idea is to (extremely) verbosely
|
|
|
|
* log every received resource.
|
|
|
|
*/
|
|
|
|
var casper = require("casper").create({
|
|
|
|
verbose: true,
|
|
|
|
logLevel: "verbose"
|
|
|
|
});
|
|
|
|
|
2013-03-05 17:10:02 +01:00
|
|
|
/**
|
|
|
|
* Every time a resource is received, a new log entry is added to the stack at
|
|
|
|
* the 'verbose' level.
|
|
|
|
*/
|
|
|
|
casper.on('resource.received', function(resource) {
|
|
|
|
var infos = [];
|
|
|
|
var props = [
|
|
|
|
"url",
|
|
|
|
"status",
|
|
|
|
"statusText",
|
|
|
|
"redirectURL",
|
|
|
|
"bodySize"
|
|
|
|
];
|
|
|
|
props.forEach(function(prop) {
|
|
|
|
infos.push(resource[prop]);
|
|
|
|
});
|
|
|
|
resource.headers.forEach(function(header) {
|
|
|
|
infos.push("[" + header.name + ": " + header.value + "]");
|
|
|
|
});
|
|
|
|
this.log(infos.join(", "), "verbose");
|
|
|
|
});
|
|
|
|
|
2012-11-08 17:11:43 +01:00
|
|
|
// 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/").run(function() {
|
|
|
|
this.exit();
|
|
|
|
});
|