关注分享主机优惠活动
国内外VPS云服务器

控制台如何打印日志信息(console.log打印功能)

这次给大家带来的是如何通过控制台打印日志信息,以及通过控制台打印日志信息有哪些注意事项。这里有实际案例。让我们看一看。

首先,我们创建以下文件:

//index . jslet fs = require(& # 039;fs & # 039);let options = { flags:& # 039;一& # 039;,//追加模式编码:& # 039;utf8 & # 039,// utf8编码};让stdout = fs . createwritestream(& # 039;。/stdout . log & # 039;,选项);让stderr = fs . createwritestream(& # 039;。/stderr . log & # 039;,选项);//Create logger let logger = new console . console(stdout,stderr);for(设I = 0;我& lt100;i++){ logger . log(` log message $ { I } `);logger . error(` err message $ { I } `);}在上面的代码中,我们实际上创建了控制台的一个实例。控制台类,需要指定两个参数,即标准输出流和标准错误输出流。一般情况下实际对应的是process.stdout和process.stderr在上面的代码中,我们将这两个输出流改为fileoutputstream并指定为文件追加模式,这样就可以将日志信息输出到指定的文件中。运行上述代码将生成两个文件,stdout.log和stderr.log

stdout.log文件的内容如下:

消息0日志消息1日志消息2日志消息3日志消息4日志消息5日志消息6日志消息7日志消息8日志消息9日志消息10...stderr.log文件如下:

消息0错误消息1错误消息2错误消息3错误消息4错误消息5错误消息6错误消息7错误消息8错误消息9错误消息10...看起来像一封信。利率相对简单,不像日志文件的样子。我们可能需要为每个日志添加一个时间。这里,首先为Date对象添加一个format的原型方法:

//添加格式方法date . prototype . format = function(format){ if(!格式){ format = & # 039yyyy -MM-DD HH:mm:ss & # 039;;}//用0完成指定位数,let padnum = function (value,digits){ return array(digits -value . tostring()。长度+1)。加入(& # 039;0')+值;};//指定格式字符letcfg = {yyyy: this.getfullyear(),//year MM:padNum(this . get month()+1,2),//dd: padNum(this.getDate(),2),// HH: padnum (this.gethours(),2),//mm: padNum(this.getMinutes(),2),//minutes ss:padNum(this . get seconds(),2),//seconds fff:padNum(this . get milliseconds(),3),//毫秒};return format . replace(/([A-Z]|[A-Z])( \ \ 1)*/ig,function(m){ return CFG[m];});}然后重写前面的主文件:

//index . jslet fs = require(& # 039;fs & # 039);let options = { flags:& # 039;一& # 039;,//追加模式编码:& # 039;utf8 & # 039,// utf8编码};让stdout = fs . createwritestream(& # 039;。/stdout . log & # 039;,选项);让stderr = fs . createwritestream(& # 039;。/stderr . log & # 039;,选项);//Create logger let logger = new console . console(stdout,stderr);//添加格式方法date . prototype . format = function(format){ if(!格式){ format = & # 039yyyy -MM-DD HH:mm:ss & # 039;;}//用0完成指定位数,let padnum = function (value,digits){ return array(digits -value . tostring()。长度+1)。加入(& # 039;0')+值;};//指定格式字符letcfg = {yyyy: this.getfullyear(),//year MM:padNum(this . get month()+1,2),//dd: padNum(this.getDate(),2),// HH: padnum (this.gethours(),2),//mm: padNum(this.getMinutes(),2),//minutes ss:padNum(this . get seconds(),2),//seconds fff:padNum(this . get milliseconds(),3),//毫秒};return format . replace(/([A-Z]|[A-Z])( \ \ 1)*/ig,function(m){ return CFG[m];});}for(设I = 0;我& lt100;i++) { let time = new Date()。格式(& # 039;yyyy -MM-DD HH:mm:ss . fff & # 039;);logger.log(`[${time}] -日志消息$ { I } `);logger . error(`[$ { time }]-err message $ { I } `);}再次运行程序,然后检查两个日志文件的内容。

Stdout.log内容如下:

[2018-04-27 07:30:54.309] -日志消息0[2018-04-27 07:30:54.312] -日志消息1[2018-04-27 07:30:54.312] -日志消息2[2018-04-27 07:30:54.312] -日志消息3[20184...stderr.log内容如下:

[2018-04-27 07:30:54.309]-err消息0[2018-04-27 07:30:54.312]-err消息1[2018-04-27 07:30:54.312]-err消息2[2018-04-27 07:30:54.312]-err消息3[2018-044...相信你看完这个案例已经掌握了方法。更多精彩请关注即时码站其他相关文章。

推荐阅读:

utils.js用例的详细解释

如何用JS实现最简单的跨域

未经允许不得转载:主机频道 » 控制台如何打印日志信息(console.log打印功能)

评论 抢沙发

评论前必须登录!