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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
Class(Cobalt.Logger, 'JsConsole')({
prototype : {
console : null,
formatterOpts : {},
init : function (config) {
var logger = this,
property;
if (config) {
for (property in config) {
logger[property] = config[property];
}
}
if (!logger.console) {
logger.console = console;
}
},
log : function () {
var i, message = [], severity;
for (i = 0; i < arguments.length; i++) {
// We're not formatting objects for now.
if (!arguments[i].__skipConsole && !arguments[i].message.__skipConsole) {
if (typeof arguments[i].message === 'object') {
message.push(arguments[i].message);
} else {
message.push(this.format(arguments[i]));
}
if (!severity) {
severity = arguments[i]._level
}
}
}
switch (severity){
case 0:
case 1:
case 2:
case 3:
this.console.error.apply(this.console, message);
break;
case 4:
this.console.warn.apply(this.console, message);
break;
case 5:
case 6:
this.console.info.apply(this.console, message);
break;
case 7:
default:
this.console.log.apply(this.console, message);
break;
}
},
format : function (logObject) {
// Usually what you want to do here is format. Preferably using
// someone inside Cobalt.Formatter
if (this.formatter) {
return this.formatter.format(logObject, this.formatterOpts);
}
return logObject.message;
}
}
});
|