XLog is a log management by PROD or DEV,
- IN PROD Mode, just collect the log info, donot print in console
- IN DEV Mode, console info will be show real time
- IN CLOSE Mode, console will be not effected
- log ui
- log level
- log group and sort by time
- log find and filter
- log show by real-time(DEV) or manual call at console(PROD)
- error catch auto
Kind: global class
-
XLog
- new XLog(opt)
-
instance
- .init()
-
.size() ⇒
obejct
-
.get(level) ⇒
object
- .set(level)
- .show(level, [sort])
- .find(str, level)
- .reset(level)
-
.catch(f) ⇒
function
- .catchModule(m)
-
static
-
.LOG :
enum
-
.LOG :
eg: var xLog = new XLog(opt)
create a XLog instance
Param | Type | Default | Description |
---|---|---|---|
opt | object |
arguments object | |
[opt.level] | number |
3 |
log level LOG.LEVEL below level not show auto or manual, but set() to change LEVEL |
[opt.mode] | string |
"DEV" |
'CLOSE' OR 'DEV' OR 'PROD' LOG.MODE DEV mode show log realtime, PROD mode show log manual by sh |
ow() method CLOSE will be all Xlog.js and error monitor | |||
[opt.send] | function |
function(){} |
if u need to send log to remote, u need to define send function |
log.emergency('this is show by log.emergency')
log.alert('this is show by log.alert')
log.critical('this is show by log.critical')
log.error('this is show by log.error')
log.warn('this is show by log.warn')
log.notice('this is show by log.notice')
log.info('this is show by log.info')
log.log('this is show by log.log')
log.add(0, 'this is a 0 by log.add')
log.add(1, 'this is a 1 by log.add')
log.add(2, 'this is a 2 by log.add')
log.add(3, 'this is a 3 by log.add')
log.add(4, 'this is a 4 by log.add')
log.add(5, 'this is a 5 by log.add')
log.add(6, 'this is a 6 by log.add')
log.add(7, 'this is a 7 by log.add')
setTimeout(function () { log.add(5, 'this is a info by async') }, 200)
log.catch(test.testError)('test show')
//add try catch for all test2 modules function and test.start function
log.catchModule(test2);
log.catch(test.start)()
init reset XLog data
Kind: instance method of XLog
Get the size of all local log
Kind: instance method of XLog
Returns: obejct
- - Object {len: 2827, byte: 2903, size: 2.8349609375}
Get the log data by level
Kind: instance method of XLog
Returns: object
- XLog.data
Param | Type | Description |
---|---|---|
level |
number | string
|
the level Number or Name String of log item |
set log level, just show log below level number
Kind: instance method of XLog
Param | Type | Description |
---|---|---|
level |
number | string
|
the level Number or Name String of log item |
Show All XLogs 显示所有日志信息(受限不能大于XLOG.level), 传入level则显示level: 0~number, level name则仅显示name 对应的level
Kind: instance method of XLog
Param | Type | Default | Description |
---|---|---|---|
level |
number | string
|
the level Number or Name String of log item | |
[sort] | string |
"'time'" |
time or group- show log by time sorted |
Example
XLOG.show() print level 0~3 [this.level=3]
XLOG.show(0) print level 0
XLOG.show(1) print level 0-1
XLOG.show(n) print level 0-n, n max is 7
XLOG.show('EMERGENCY') optional ['ALERT','CRITICAL','ERROR','WARN','NOTICE','INFO','LOG'] print corresponding level
Show and Print the log info by str or level
Kind: instance method of XLog
Param | Type | Description |
---|---|---|
str | string |
find log by str, find log by console, level,stack info, etc... |
level |
number | string
|
the level Number or Name String of log item find, if null no level limited |
reset log data 重置所有日志内容
Kind: instance method of XLog
Param | Type | Description |
---|---|---|
level |
number | string
|
the level Number or Name String of log item |
decorate function f with try catch wrapper
Kind: instance method of XLog
Returns: function
- f - return try catch wrappered f
Param | Type |
---|---|
f | function |
decorate every function of module m with try catch wrapper
Kind: instance method of XLog
Param | Type | Description |
---|---|---|
m | object |
module with functions |
XLog.LOG.LEVELHE LOG
Kind: static enum of XLog
Example
0: 'EMERGENCY', //system unusable
1: 'ALERT', //immediate action required
2: 'CRITICAL', //condition critical
3: 'ERROR', //condition error
4: 'WARN', //condition warning
5: 'NOTICE', //condition normal, but significant
6: 'INFO', //a purely informational message
7: 'LOG' // LOG or debugging information
XLog - https://github.com/ccjoe/XLog
Kind: global variable
Licensed under the MIT license.