customlogging.js
1.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/*eslint strict:0*/
/*global CasperError, console, phantom, require*/
/**
* A basic custom logging implementation. The idea is to (extremely) verbosely
* log every received resource.
*/
var casper = require("casper").create({
verbose: true,
logLevel: "verbose"
});
/**
* 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");
});
// 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();
});