-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLogger.js
94 lines (79 loc) · 2.39 KB
/
Logger.js
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
(function (ns) {
"use strict";
/**
* @name wader.Logger
* @class Wader Logger
* @author Max Maximov <max.maximov@gmail.com>
* @version 0.3
*/
$.Class.extend("wader.Logger",
/** @lends wader.Logger */
{
NONE: 0,
ERROR: 1,
WARN: 2,
INFO: 3,
DEBUG: 4,
LOG: 5,
level: 1,
ie: false,
/**
* @return {*[]}
*/
_parseArgs: function () {
var args = Array.prototype.slice.call(arguments[0]);
// Тут бы, по-хорошему, интерфейс нужен, вместо typeof args[0] == "object"
return ([typeof args[0] == "object" ? "[" + args[0].constructor.fullName + "]" : args[0]].concat(args.slice(1)));
},
/**
* @param {Arguments} args
* @param {String} type
* @return {undefined}
*/
_echo: function (args, type) {
var args = wader.Logger._parseArgs(args);
/*@cc_on wader.Logger.ie = true; @*/
if (wader.Logger.debug && window.console && window.console[type]) {
if (wader.Logger.ie) {
console[type](args.join(" "));
} else {
console[type].apply(console, args);
}
}
},
/**
* @return {undefined}
*/
log: function () {
if (wader.Logger.level >= wader.Logger.LOG) wader.Logger._echo(arguments, "log");
},
/**
* @return {undefined}
*/
debug: function () {
if (wader.Logger.level >= wader.Logger.DEBUG) wader.Logger._echo(arguments, "debug");
},
/**
* @return {undefined}
*/
info: function () {
if (wader.Logger.level >= wader.Logger.INFO) wader.Logger._echo(arguments, "info");
},
/**
* @return {undefined}
*/
warn: function () {
if (wader.Logger.level >= wader.Logger.WARN) wader.Logger._echo(arguments, "warn");
},
/**
* @return {undefined}
*/
error: function () {
if (wader.Logger.level >= wader.Logger.ERROR) wader.Logger._echo(arguments, "error");
}
},
/** @lends wader.Logger# */
{
});
if (ns !== wader) ns.Logger = wader.Logger;
})(window.WADER_NS || window);