customlogging.js
1.29 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
42
/**
* A basic custom logging implementation. The idea is to (extremely) verbosely
* log every received resource.
*
*/
if (!phantom.casperLoaded) {
console.log('This script is intended to work with CasperJS, using its executable.');
phantom.exit(1);
}
var casper = new phantom.Casper({
/**
* Every time a resource is received, a new log entry is added to the stack
* at the 'verbose' level.
*
* @param Object resource A phantomjs resource object
*/
onResourceReceived: function(self, resource) {
var infos = [
resource.url,
resource.status,
resource.statusText,
resource.redirectURL,
resource.bodySize
];
resource.headers.forEach(function(header) {
infos.push('[' + [header.name, header.value].join(', ') + ']');
});
self.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/').run(function(self) {
self.exit();
});