`

自动删除javascript中的logging语句

    博客分类:
  • web
 
阅读更多

 

原文地址:http://www.javaarch.net/jiagoushi/744.htm

 

自动删除javascript中的logging语句

一般在测试环境中我们会加上很多console.log来帮助调试,但是发布到生产环境肯定是要删除掉的。
我们可以使用groundskeeper (GitHub: github.com/Couto/groundskeeper)(用node.js写) 这个工具
来删除javascript中的console.log语句。

比如我们有下面这段js:

	function filter(list, age) {
	  var result = [];
	  list.forEach(function (person) {
		if (person.name && person.age > age) {
		  console.log('including', person.name);
		  result.push(person);
		}
	  });
	  return result;
	}
	
我们安装完groundskeeper之后,使用

	groundskeeper < filter-debug.js > filter.js
	
那上面那段js变成:只是把console.log变成一个空行,方便svn的比较

	function filter(list, age) {
	  var result = [];
	  list.forEach(function (person) {
		if (person.name && person.age > age) {
	 
		  result.push(person);
		}
	  });
	  return result;
	}
	
这个工具还可以跟git pre-commit hook( http://ariya.ofilabs.com/2012/03/git-pre-commit-hook-and-smoke-testing.html)
集成,那么就不需要人工操作了,只要git commit的时候任何js文件就会过滤掉。

	files=$(git diff-index --name-only --diff-filter=ACM HEAD | grep -P '\.js$')
	for file in $files; do
	  groundskeeper < $file > $file.tmp && mv $file.tmp $file
	done

 

分享到:
评论

相关推荐

    grunt-remove-logging:Grunt.js任务,用于删除控制台日志记录语句

    此任务从源代码中删除所有控制台日志记录语句。 入门 使用以下命令安装此插件: npm install grunt - remove - logging 接下来,将此行添加到项目的grunt文件中: grunt . loadNpmTasks ( "grunt-remove-logging...

    node-voicemail-logging:语音邮件记录模块

    星号语音邮件记录 对 Asterisk 语音邮件应用程序的日志支持。... 或将以下内容添加到您的 package.json 文件中 "dependencies" : { "voicemail-logging" : "asterisk/node-voicemail-logging" } 用法 var

    services-logging:面向懒惰Java开发人员的ES上的日志记录框架

    例如,收集器将标记MDC(本地线程),以对1次调用中的所有日志语句进行分组。 使用者:日志记录使用者包含可在logback.xml中配置的附加程序的实现。 使用者会将数据转换为JSON,以便将其保存到Elasticsearch。 曝光...

    debug:一个小巧JavaScript调试实用程序,它以Node.js核心的调试技术为蓝本。 可在Node.js和Web浏览器中使用

    一个模仿Node.js核心调试技术的微型JavaScript调试实用程序。 可在Node.js和Web浏览器中使用。 安装 $ npm install debug 用法 debug公开一个函数; 只需将此函数作为模块的名称传递,它将返回经过修饰的console....

    asp.net知识库

    如何解决ACCESS中SELECT TOP语句竟然返回多条记录的问题? Asp.net 利用OleDb的GetOLEDBSchemaTable方法得到数据库架构信息 用于 Visual Studio .Net 的 IBM DB2 开发外接程序 第2章 并发操作的一致性问题 (2) Using...

    floorine:Node.js 日志记录

    所有日志语句都记录到标准输出。 示例输出遵循每个日志命令。 var log = require("floorine"); log.set_log_level("debug"); log.debug("debugging stuff: %s", os.platform()); :white_small_square: DEBUG 2015-...

    python入门到高级全栈工程师培训 第3期 附课件代码

    python入门到高级全栈工程师培训视频学习资料;本资料仅用于学习,请查看后24小时之内删除。 【课程内容】 第1章 01 计算机发展史 ...15 再插两道JavaScript面试题 16 Model操作之select_related以及...

    apollo-link-logger:类似于redux-logger的Apollo Link记录器

    阿波罗链接记录器类似于redux-logger的Apollo Link记录器 Apollo Link的Logger使用与... 屏幕截图 查询(扩展): 变异(扩展): 在其他日志记录语句中: 在React Native和其他受限环境中使用我们包含console.groupC

    koa-mw-logger:用于日志记录的Koa中间件

    koa-mw-logger 用于日志记录... 附加一个名为addCustomLogCtx的函数,以将其他信息添加到最终的日志语句中。如何使用const Koa = require("koa");const getLogger = require("koa-mw-logger");const app = Koa();app.u

    ETL工具Kettle用户手册

    1.5 资源库自动登录 ....................................................................................................... 7 1.6 定义 .....................................................................

Global site tag (gtag.js) - Google Analytics