您可以使用附加到v8
Error对象的堆栈跟踪信息来查找调用代码的文件/行。这种方法行之有效,但效果不佳。因此,如果在开发过程中使用它,则在生产时将要禁用它。
因此,您可以执行以下 *** 作:
var logger_info_old = logger.info; logger.info = function(msg) { var fileAndLine = traceCaller(1); return logger_info_old.call(this, fileAndLine + ":" + msg); } function traceCaller(n) { if( isNaN(n) || n<0) n=1; n+=1; var s = (new Error()).stack , a=s.indexOf('n',5); while(n--) { a=s.indexOf('n',a+1); if( a<0 ) { a=s.lastIndexOf('n',s.length); break;} } b=s.indexOf('n',a+1); if( b<0 ) b=s.length; a=Math.max(s.lastIndexOf(' ',b), s.lastIndexOf('/',b)); b=s.lastIndexOf(':',b); s=s.substring(a+1,b); return s; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)