cocos creater打印日志

使用cocos模拟器启动时,代码会自动合并成一个文件,出错也只提示project.dev.js 第多少行,看起来很不方便,好在cocos给了错误接口,直接读取文件定位到要找的行,看起来就方便好多。
var LogHelper = {

    _files: {},

    err: function(filename, lineNumber, message) {

        var dataArr = this.getJsFileDataArr(filename);
        if (dataArr) {
            var jsFileName = "";
            var jsFileLineNum = 0;
            for (var index = lineNumber; index > 0; index--) {
                var data = dataArr[index];
                if (data.indexOf("// scripts/") >= 0 && data.indexOf(".js") >= 0) {
                    jsFileName = data;
                    jsFileLineNum = lineNumber - index - 3;
                    break;
                }
            }
            clog("################################################################");
            clog(message);
            clog("error in this file :  " + jsFileName + ":" + jsFileLineNum);
            for (var index = lineNumber - 1; index < dataArr.length && index < lineNumber + 5; index++) {
                clog(dataArr[index]);
            }
            clog("################################################################");
        }
    },

    getJsFileDataArr: function(filename) {

        var data = this._files[filename];
        if (!data) {
            var readDataStr = jsb.fileUtils.getStringFromFile(filename);
            data = readDataStr.split("\n");
        }
        return data;
    }
};


window.__errorHandler = LogHelper.err.bind(LogHelper);

exports = module.exports = LogHelper;

你可能感兴趣的:(脚本)