作用
包装日志对象提供多个日志级别,可以分别管理、开关
本地调试、线上调试、线上发布环境下分别执行不同行为
记录日志到数据库、远程目标、或log4n等(还没写好)
支持级别
调用接口 | 提示文本 | 颜色 |
---|---|---|
ECHO | 亮蓝 | |
debug | DEBUG | 亮白 |
info | INFO | 亮蓝 |
log | LOG | 默认白 |
success | SUCCESS | 亮绿 |
warn | WARN | 棕黄 |
error | ERROR | 红+闪烁 |
trace | TRACE | 黄 |
其中 debug 级别不会在 正式环境(CONFIG.IS_DEBUG_ENV = CONFIG.IS_TEST_ENV = false
)时显示(无论设置了什么日志目标)
配置
CONFIG.LogDatabaseName
用于记录日志的数据库名,如果不设置,则输出到标准输出(然后显示在leancloud后台)默认 trace、debug、info 不显示,但输出到数据库时,会记录 info 级别。
示例
"print,debug,info,log,success,warn,error,trace"
.split(",")
.forEach(function(level){
this[level](
'%s an object "%s" and an array [%s]!!!',
level,
{ hello: "world" },
[1, 2, '3']
);
}, new Logger('测试'));

对象序列化表
类型 | 日志输出 |
---|---|
ApiError | 它的 stringify() 返回值 |
Error | 它的 stack |
函数 | “[Function: xxxx]” |
AV.Object | 它的 toJSON() 返回值进行 JSON.stringify |
AV.Query | “[AV.Query: { 筛选条件 }] |
有 inspect方法 的对象 | 它的 inspect() 返回值 |
普通数据对象 | JSON.stringify() |
类实例对象 | JSON.stringify() * 将来会改变 |
null、undefined、NaN | 直接输出“null”、“undefined”、“NaN” |
其他普通内置类型如number、string | 直接输出它的值 |
对象的序列化为依次进行,例如一个拥有 inspect方法 的 Error对象,按照第2条输出它的 stack,而不是调用它的 inspect 方法
API
构造函数(String message)
创建一个loggermessage 必填,它是这个日志的第一部分,也是进行日志分析的重要筛选参数,一定要仔细确定。
切忌使用含糊不清、容易混淆的名字(例如上面的“测试”)。