资讯专栏INFORMATION COLUMN

[log.js]一个node端带文件路径和颜色的console.log

DirtyMind / 249人阅读

摘要:开发的时候习惯用老打印一些信息,然而端的并没有浏览器里的功能那么强。和功能类似不同的是,支持显示文件路径信息,调用的行号,还有支持主题样式,,,。有了这样一个工具,调试信息更加一目了然了。

log.js

开发node.js的时候,习惯用console.log老打印一些信息,然而node端的console.log并没有浏览器里的功能那么强。

比如显示当前console.log信息所在的代码行,有时node开发打印很多个console.log信息是总是不知道是哪里调用的,然后只能手动去添加console.log("1", info),console.log("2", info)...
所以,log.js就是为了解决这一问题而开发的;log.js是什么?

log.js 是 node.js 的一个调试工具。和 console.log 功能类似,不同的是,log.js支持显示文件路径信息,调用log的行号,还有支持主题样式infoerrorsuccesswarn

有了这样一个工具,调试信息更加一目了然了。

具体怎么实现,请查看源码(链接在文章末尾)。

api

log(string)

log.info(string)

log.success(string)

log.error(string)

log.warn(string)

用法
const log = require("./log.js")

log("欢迎使用log.js。")

log.info("这是info提示信息")
log.success("这是success提示信息")
log.error("这是error提示信息")
log.warn("这是warn提示信息")

// 自定义log
log.addLog("test", "cyan")

log.test("这是自定义的log")

log.addLog("debug", "magenta")

log.debug("这是自定义的log")

可以运行 demo.js 查看效果

命令
node demo.js --dev

参数:

--dev 开发模式,开发模式会出现文件名和行号

--dev-show-path 文件名显示绝对路径

注:显示文件名和行号会影响js性能,上线项目请自行删掉log,或者不加上面两个参数,会使用console.log。

效果图

自定义log
log.addLog("名字", "颜色")

log.名字(str)

支持颜色有:

    white
    grey
    black
    blue
    cyan
    green
    magenta
    red
    yellow
期望

其实还可以加多点功能,比如:

做更多的样式配置(请看https://github.com/Marak/colo...)

增加log的打印时间

项目地址

log.js项目地址

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/83767.html

相关文章

  • 2017-07-02 前端日报

    摘要:前端日报精选译,和的未来学习笔记箭头函数学习笔记教程栅格布局卷土重来,用还是为什么我会选择而不是众成翻译原生开发入门完全教程从零到壹全栈部落中文一个端带文件路径和颜色的攻城方略译使用提高应用程序的种方式中自定义操作符修仙 2017-07-02 前端日报 精选 [译] TC39,ECMAScript 和 JavaScript 的未来(Part 1)ES6学习笔记:箭头函数_ES6, Ja...

    lemon 评论0 收藏0
  • 如何设置node全局脚本

    摘要:全局脚本设置的本质思路其实原理很简单将的全局命令搜索路径,加上脚本所在文件夹的路径。权限设置了以后,脚本的图标将变成下面这个样子。重启或新建终端,执行脚本。 前语 随着node的流行,JS已经可以解决大部分问题。这对前端工程师十分友好。相信很多同学在开发业务之余,都会写一些小脚本代替手工完成繁琐,重复的工作,从而提高工作效率。但部分同学开发的脚本,仅局限于脚本所在路径,通过node x...

    cgspine 评论0 收藏0
  • SpringMVC【开发Controller】详解

    摘要:是使用拦截器来自动帮我们完成中文乱码的问题的。这是我的首页当然了,基于注解和基于来开发,都是通过映射器适配器和视图解析器的。能够控制请求路径和请求方式一个控制器写多个业务方法到目前为止,我们都是一个控制器写一个业务方法,这肯定是不合理的。 前言 本文主要是讲解在Controller中的开发,主要的知识点有如下: 编码过滤器 使用注解开发 注解@RequestMapping详解 业务方...

    Pines_Cheng 评论0 收藏0
  • Node_模块

    摘要:当某个执行完毕时,将以时间的形式通知执行操作的线程,线程执行了这个事件的回调函数。为了处理异步,线程必须有事件循环,不断的检查是否有未处理的时间。这种处理机制,称为事件环机制。方面使用第三方模块。 简介 V8引擎本身就是用于Chrome浏览器的JS解释部分,但是Ryan Dahl,把V8搬到服务器,用于做服务器的软件。Node是一个专注于实现高性能Web服务器优化的专家,在遇到V8而诞...

    zero 评论0 收藏0
  • Nodejs开发简单脚手架工具

    摘要:本文主要是介绍开发一个简单的脚手架,了解开发的基本流程最终通过链接到全局包。完成之后,就可以把脚手架发布到上面,通过进行全局安装,就可以在自己本机上执行来初始化项目,这样便完成了一个简单的脚手架工具了。 脚手架,这个名词对于作为前端的我们来说,也许并不陌生吧,像vue-cli,react-native-cli等,全局安装后,只需要在命令行中敲入一个简单的命令,便可帮我们快速的生成一个初...

    sean 评论0 收藏0

发表评论

0条评论

DirtyMind

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<