nodejs 日志日志用什么做最好

使用NodeJS Express和MongoDB搭建一个简单的日志服务器例子_DD博客
nodejs+express+mongodb简单的例子
收款微信号 dwtedx
支付宝帐户
比特币帐户
深度剖解各个领域业务流程、全面展示自己的所长及个人发展新思路
微信公众号 : (推荐)
备案信息 :
DD博客上的所有软件和源码Demo及相关资料均为软件商和个人工作总结或网友推荐及网络收集整理而来、仅供学习和研究使用、切勿用做商业用途、如有侵犯版权者、请来信到邮箱 : 指出、DD博客将立即修正、净化网络版权环境、同时DD博客也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害
& Copyright 2016. All rights reserved.玩转 Nodejs 日志管理 log4js - 开源中国社区
当前访客身份:游客 [
当前位置:
日志对任何的应用来说都是至关重要的。在Nodejs中使用express框架并没有自带的日志模块,我们可以选择log4js来完成日志记录的功能。
如果用过JAVA中log4j的同学,肯定对日志并不陌生,学习log4js会更得心应手的。
文章目录:
默认的控制台输出
通过log4js输出日志
配置log4js与express框架集成
根据项目配置log4js
优化log4js结构
1. 默认的控制台输出
我们使用express框架时,开发模式用node或者supervisor启动nodejs应用时,控制台都是显示如下的日志。
GET /css/bootstrap.min.css 304 1ms
GET /css/my.css 304 0ms
GET /js/bootstrap.min.js 304 4ms
GET /js/jquery-1.9.1.min.js 304 6ms
GET /js/holder.js 304 3ms
GET /cat/json/latest 200 6ms
GET /cat/json/master 200 4ms
GET /cat/json/classic 200 2ms
GET /about 200 6ms
GET /css/bootstrap.min.css 304 2ms
GET /css/my.css 304 2ms
GET /js/bootstrap.min.js 304 2ms
GET /js/jquery-1.9.1.min.js 304 1ms
GET /js/holder.js 304 1ms
GET /js/bootstrap.min.js 304 1ms
GET / 304 6ms
GET /js/jquery-1.9.1.min.js 304 2ms
GET /css/my.css 304 1ms
GET /css/bootstrap.min.css 304 1ms
GET /js/bootstrap.min.js 304 2ms
GET /js/holder.js 304 2ms
GET /cat/json/latest 200 3ms
GET /cat/json/master 200 2ms
GET /cat/json/classic 200 2ms
GET /admin/ 304 13ms
GET /css/bootstrap.min.css 304 3ms
GET /js/jquery-1.9.1.min.js 304 2ms
GET /css/my.css 304 2ms
GET /js/bootstrap.min.js 304 1ms
GET /js/holder.js 304 2ms
我们也可以在代码中,用console.log()打印一些控制台日志。
修改routes/index.js
exports.index = function(req, res){
console.log(&This is an index page!&);
res.render('index', {
title:'首页|moive.me',
page:'index'
访问页面,结果如下。
This is an index page!
GET / 304 19ms
GET /css/bootstrap.min.css 304 4ms
GET /css/my.css 304 2ms
GET /js/jquery-1.9.1.min.js 304 38ms
GET /js/holder.js 304 29ms
GET /js/bootstrap.min.js 304 28ms
这样的输出的结果,都是在控制台显示,一旦server重启日志就丢失了。对于程序开发来说,这样的输出已经够用了。但是在生产环境上,我们希望能把控制台的输出,保存到文件中,而且需要更多的信息,不仅仅是默认的简化的日志信息。
由于express框架没有日志功能,我们需要引入log4js包来完成这个功能。
2. 通过log4js输出日志
我们先可看一下,通过log4js输出的日志是什么样子的,下一节再介绍具体的配置。
This is an index page!
GET / 304 17ms
[ 17:45:55.981] [INFO] normal - 127.0.0.1 - - &GET / HTTP/1.1& 304 - &http://localhost:3000/admin/& &Mozilla/5
.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0. Safari/537.36&
GET /css/bootstrap.min.css 304 10ms
[ 17:45:56.015] [INFO] normal - 127.0.0.1 - - &GET /css/bootstrap.min.css HTTP/1.1& 304 - &http://localhost:30
00/admin/crawler/youku& &Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.
Safari/537.36&
GET /css/my.css 304 8ms
[ 17:45:56.017] [INFO] normal - 127.0.0.1 - - &GET /css/my.css HTTP/1.1& 304 - &http://localhost:3000/admin/cr
awler/youku& &Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0. Safari/537
GET /js/jquery-1.9.1.min.js 304 19ms
[ 17:45:56.031] [INFO] normal - 127.0.0.1 - - &GET /js/jquery-1.9.1.min.js HTTP/1.1& 304 - &http://localhost:3
000/admin/& &Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0. Safari/537.
GET /js/bootstrap.min.js 304 13ms
[ 17:45:56.037] [INFO] normal - 127.0.0.1 - - &GET /js/bootstrap.min.js HTTP/1.1& 304 - &http://localhost:3000
/admin/& &Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0. Safari/537.36&
GET /js/holder.js 304 20ms
[ 17:45:56.040] [INFO] normal - 127.0.0.1 - - &GET /js/holder.js HTTP/1.1& 304 - &http://localhost:3000/admin/
& &Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0. Safari/537.36&
相同的请求,控制台输出的结果多了很多,完整的web服务器的日志格式。 这才是生产环境需要的!信息更丰富,并且与nginx和apache是一样的格式。
3. 配置log4js与express框架集成
下载log4js包
~ npm install log4js
log4js@0.6.6 node_modules\log4js
├── dequeue@1.0.3
├── semver@1.1.4
├── async@0.1.15
└── readable-stream@1.0.2
修改app.js
~ vi app.js
var log4js = require('log4js');
log4js.configure({
appenders: [
{ type: 'console' }, //控制台输出
type: 'file', //文件输出
filename: 'logs/access.log',
maxLogSize: 1024,
backups:3,
category: 'normal'
var logger = log4js.getLogger('normal');
logger.setLevel('INFO');
//app.use(...)
//app.use(...)
app.use(log4js.connectLogger(logger, {level:}));
app.use(app.router);
我需要在app.js中进行log4js的配置。
appenders中配置了两个输出,一个是控制台输出,一个是文件输出。
appenders.type=file的对象,指定文件输出位置及文件大小,当超过maxLogSize大小时,会自动生成一个新文件。logs的文件目录要动手创建。 level:, 设置默认日志输出级别是INFO。
log4js的输出级别6个: trace, debug, info, warn, error, fatal
logger.trace(‘Entering cheese testing’);
logger.debug(‘Got cheese.’);
(‘Cheese is Gouda.’);
logger.warn(‘Cheese is quite smelly.’);
logger.error(‘Cheese is too ripe!’);
logger.fatal(‘Cheese was breeding ground for listeria.’);
如果输出级别是INFO,则不会打印出低于info级别的日志trace,debug,只打印info,warn,error,fatal。这样做 的好处在于,在生产环境中我们可能只关心异常和错误,并不关心调试信息。从而大大减少日志的输出,能减少磁盘写入。而在开发环境中,我们可以需要打印非常 多的信息,帮助开发人员定位错误,调试代码。
还有一个好处就是,代码中可以混有各种的日志打印代码。我们只要在一个配置文件中,修改输出级别,日志输出就会发生变化,不用修改所有的代码。如果所有地方都是console.log(),那么上线的时候,改动这个东西就要花很多时间。
4. 根据项目配置log4js
上一节中,介绍了log4js和express集成。但默认的配置可能并不合适我们的项目,还需要对log4js的参数进行一些调整。
1. 代替console.log() 增加replaceConsole配置,让所有console输出到日志中,以[INFO] console代替console默认样式。
~ vi app.js
var log4js = require('log4js');
log4js.configure({
appenders: [
{ type: 'console' },{
type: 'file',
filename: 'logs/access.log',
maxLogSize: 1024,
backups:4,
category: 'normal'
replaceConsole: true
查看输出结果:
[ 18:18:41.997] [INFO] console - This is an index page!
GET / 304 15ms
[ 18:18:42.010] [INFO] normal - 127.0.0.1 - - &GET / HTTP/1.1& 304 - &http://localhost:3000/admin/& &Mozilla/5
.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0. Safari/537.36&
GET /css/bootstrap.min.css 304 5ms
[ 18:18:42.042] [INFO] normal - 127.0.0.1 - - &GET /css/bootstrap.min.css HTTP/1.1& 304 - &http://localhost:30
00/admin/crawler/youku& &Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.
Safari/537.36&
GET /css/my.css 304 11ms
[ 18:18:42.051] [INFO] normal - 127.0.0.1 - - &GET /css/my.css HTTP/1.1& 304 - &http://localhost:3000/admin/cr
awler/youku& &Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0. Safari/537
GET /js/jquery-1.9.1.min.js 304 35ms
[ 18:18:42.089] [INFO] normal - 127.0.0.1 - - &GET /js/jquery-1.9.1.min.js HTTP/1.1& 304 - &http://localhost:3
000/admin/& &Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0. Safari/537.
GET /js/holder.js 304 42ms
[ 18:18:42.098] [INFO] normal - 127.0.0.1 - - &GET /js/holder.js HTTP/1.1& 304 - &http://localhost:3000/admin/
& &Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0. Safari/537.36&
GET /js/bootstrap.min.js 304 11ms
[ 18:18:42.101] [INFO] normal - 127.0.0.1 - - &GET /js/bootstrap.min.js HTTP/1.1& 304 - &http://localhost:3000
/admin/& &Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0. Safari/537.36&
2. 调整日志输出的格式
app.use(log4js.connectLogger(logger, {level: level:, format:':method :url'}));
输出结果:
[ 18:23:25.230] [INFO] console - This is an index page!
GET / 304 28ms
[ 18:23:25.251] [INFO] normal - GET /
GET /css/bootstrap.min.css 304 5ms
[ 18:23:25.287] [INFO] normal - GET /css/bootstrap.min.css
GET /css/my.css 304 3ms
[ 18:23:25.292] [INFO] normal - GET /css/my.css
GET /js/jquery-1.9.1.min.js 304 15ms
[ 18:23:25.310] [INFO] normal - GET /js/jquery-1.9.1.min.js
GET /js/holder.js 304 9ms
[ 18:23:25.321] [INFO] normal - GET /js/holder.js
GET /js/bootstrap.min.js 304 17ms
[ 18:23:25.338] [INFO] normal - GET /js/bootstrap.min.js
3. 自动调整日志输出级别
日志级别对应规则: http responses 3xx, level = WARN http responses 4xx & 5xx, level = ERROR else, level = INFO
设置level为auto
app.use(log4js.connectLogger(logger, {level: 'auto', format:':method :url'}));
下面日志为了对比方便我多打出了几行。
[ 18:24:56.040] [INFO] console - This is an index page!
GET / 304 16ms
[ 18:24:56.053] [WARN] normal - GET /
GET /css/bootstrap.min.css 304 9ms
[ 18:24:56.086] [WARN] normal - GET /css/bootstrap.min.css
GET /css/my.css 304 9ms
[ 18:24:56.097] [WARN] normal - GET /css/my.css
GET /js/jquery-1.9.1.min.js 304 26ms
[ 18:24:56.128] [WARN] normal - GET /js/jquery-1.9.1.min.js
GET /js/holder.js 304 32ms
[ 18:24:56.164] [WARN] normal - GET /js/holder.js
GET /js/bootstrap.min.js 304 1ms
[ 18:24:56.166] [WARN] normal - GET /js/bootstrap.min.js
[ 18:24:56.204] [INFO] normal - GET /cat/json/latest
GET /cat/json/latest 200 10ms
[ 18:24:56.211] [INFO] normal - GET /cat/json/master
GET /cat/json/master 200 4ms
[ 18:24:56.219] [INFO] normal - GET /cat/json/classic
GET /cat/json/classic 200 9ms
GET /img/movie/emptySmall.png 304 1ms
[ 18:24:56.263] [WARN] normal - GET /img/movie/emptySmall.png
5. 优化log4js结构
应该有同学发现了,我们在配置log4js时会有一个问题。就是所有配置信息都是在app.js中做的,logger也是在这里直接定义的。如果在控制器(routes)想用log4js进行输出,我们现在拿不到logger的句柄。
修改app.js,
~ vi app.js
var log4js = require('log4js');
log4js.configure({
appenders: [
{ type: 'console' },{
type: 'file',
filename: 'logs/access.log',
maxLogSize: 1024,
backups:4,
category: 'normal'
replaceConsole: true
//var logger = log4js.getLogger(name);
//logger.setLevel('INFO');
app.use(log4js.connectLogger(this.logger('normal'), {level:'auto', format:':method :url'}));
exports.logger=function(name){
var logger = log4js.getLogger(name);
logger.setLevel('INFO');
我们把logger单独定义出来,并且做为API暴露出来。
在index.js中使用logger输出
~ vi routes/index.js
var logger = require('../app').logger('index');
exports.index = function(req, res){
console.log(&This is an index page!&);
(&This is an index page! -- log4js&);
res.render('index', {
title:'首页|moive.me',
page:'index'
打印出来结果
[ 18:56:51.924] [INFO] console - This is an index page!
[ 18:56:51.925] [INFO] index - This is an index page! -- log4js
GET / 304 17ms
[ 18:56:51.938] [WARN] [default] - GET /
GET /css/bootstrap.min.css 304 5ms
[ 18:56:51.978] [WARN] [default] - GET /css/bootstrap.min.css
GET /css/my.css 304 2ms
[ 18:56:51.981] [WARN] [default] - GET /css/my.css
GET /js/jquery-1.9.1.min.js 304 2ms
[ 18:56:51.984] [WARN] [default] - GET /js/jquery-1.9.1.min.js
GET /js/holder.js 304 3ms
[ 18:56:51.989] [WARN] [default] - GET /js/holder.js
GET /js/bootstrap.min.js 304 9ms
[ 18:56:52.002] [WARN] [default] - GET /js/bootstrap.min.js
这样我们就已经玩转log4js了,为部署到生产环境,做好了日志的准备工作。
共有3个评论
<span class="a_vote_num" id="a_vote_num_
沙发?虽然没搞JAVA,node.js也是只做了一个小小的demo,还是支持一下。毕竟红薯发这类的文章不多,大多都是黑与被黑的故事
<span class="a_vote_num" id="a_vote_num_
上一个项目就用的这个log4js&
但是后来 发现没办法 将 同一个category的 不同 级别log打入不同文件。
<span class="a_vote_num" id="a_vote_num_
还就没弄过nodejs,现在nodejs不知道咋样了,他的异步还是那么好用和不好用么
更多开发者职位上
有什么技术问题吗?
红薯的其它问题
类似的话题NodeJS无所不能:细数十个令人惊讶的NodeJS开源项目
日期:来源:
在几年的时间里,逐渐发展成一个成熟的开发平台,吸引了许多开发者。有许多大型高流量网站都采用Node.JS进行开发,像PayPal,此外,开发人员还可以使用它来开发一些快速移动。 除了Web应用外,NodeJS也被应用在许多方面,本文盘点了NodeJS在其它方面所开发的十大令人神奇的项目,这些项目涉及到应用程序监控、媒体流、远程控制、桌面和移动应用等等。 1.NodeOS NodeOS是采用NodeJS开发的一款友好的操作系统,该操作系统是完全建立在Linux内核之上的,并且采用shell和NPM进行包管理,采用NodeJS不仅可以很好地进行包管理,还可以很好的管理脚本、接口等。目前,Docker和Vagrant都是采用NodeOS的首个版本进行构建的。
2.Noduino 许多硬件黑客希望通过Web页面即可控制他们的Arduino,Noduino就是这样的一个项目,一个简单灵活的JavaScript和NodeJS框架,通过使用HTML5、Socket.IO和NodeJS的Web应用来控制Arduino。目前,该项目刚刚启动,支持一些常用功能,比如从Arduino中捕获事件(例如点击按钮)等。
3.Node-WebKit& Node-Webkit是一个基于Chromium与NodeJS的应用程序运行器,允许开发者使用Web技术编写桌面应用。它是NodeJS与WebKit技术的融合,提供一个跨Windows、Linux平台的客户端应用开发的底层框架。 跨平台开发并非易事,其中一种方式便是使用Web技术和Node-Webkit开发桌面应用来代替那些庞大且笨重的开发框架。
4.PDFKit PDFKit是采用NodeJS开发的一款PDF文档生成库,它使用一个“HTML5 canvas-like API”来创建矢量图形和字体嵌入,并且支持许多标准的PDF功能,如文件的安全性、表的创建、文本换行、项目符号、高亮提示、注释等PDF功能。 注意,PDFKit是一款PDF生成工具,而不是一个文档转换系统。如果你想对现有的PDF文档进行操作,你可以使用另一个NodeJS项目—— Scissors。
5.Log.io Log.io是一个基于NodeJS开发的实时日志监控项目,在浏览器里访问。需要注意的是,Log.io只监视日志变动并不存储日志,不过这个没关系,只要知道日志存储在哪个机器上。 Log.io使用 Socket.io库发送活动报告的,和其他的监控工具一样,Log.io也采用服务器-客户端的模式。Log.io由两部分组成:server和harveste,server运行在机器 A(服务器)上监视和纪录其他机器发来的日志消息;log harvester 运行在机器 B(客户端)上用来监听和收集机器 B上的日志改动,并将改动发送给机器 A,每个需要纪录日志的机器都需要一个harvester。
6.Nodecast或Leapcast 受谷歌Chromecast技术的启发,开发者使用NodeJS开发出不少Chromecast仿真应用。如Nodecast或Leapcast。在PC上运行Nodecast或Leapcast,启动移动设备,选择一个支持Chromecast的应用程序,然后你就可以把移动广播上的内容映射到电脑上了,把电脑当成一个流媒体使用。 在这两个应用中,Nodecast比较简单些,但相应的功能也比较少,它仅经过了YouTube和Google Music的测试( DEMO)。注意,大家不要把Nodecast与 Nodecast库混淆,后者使用DIAL发现协议提供链接设备(类似Chromecast)。
7.Nexe Nexe是一款小巧却非常实用的NodeJS工具,它可以为NodeJS应用创建单一可执行的文件,并且无需安装运行时,这样,一些非技术终端的用户就无需变动NodeJS应用的所有依赖程序。如果你想发布一个NodeJS应用程序,并且没有GUI,Nexe则是您的最佳选择。目前该应用程序的一个弊端是不能在Windows平台上工作,只适用于Linux和Mac OS X平台,并且它也不支持本地NodeJS模块。&
8.Hyro Hyro是使用NodeJS开发的一款实时HTML5编辑器,如下图所示,左边显示HTML源码,右边显示内容。语法高亮由 CodeMirror提供。Hyro并不打算成为一款成熟的Web IDE,更像是一款轻量级的HTML或CSS记事本。
9.Haroopad Haroopad是一款Linux上的markdown编辑器,使用Chromium作为UI,支持Windows、Mac OS X和Linux。主题样式丰富,语法标亮支持54种编程语言。 如下图所示,一边是代码编辑窗口,一边是预览窗口,可以实时更新。其邮件导出功能可以将文档发送到Tumblr和Evernote。
10.TiddlyWiki5& TiddlyWiki是一款交互式的wiki,非常灵活,它也可以在浏览器里作为单一的HTML文件或者是一款功能强大的NodeJS应用程序。 TiddlyWiki5是全新设计的5.0版本,它可以直接集成NodeJS解锁一系列的功能,但在单机模式下是不可用的。目前,TiddlyWiki5仍处于测试阶段。 &
微信公众号
TechTarget
TechTarget中国
查看更多评论
敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。
Node.js相关内容
初创公司一开始的挑战就是给技术团队增加高效的人才资源。在快速得出关于把 Javascript 开发变成 Node.js人才之前,让我们先来看看关于Node及产品开发环境的核心问题。
LoopBack是一个基于Node.js、开源的API框架,可以使基于Node.js的应用与各种移动设备通过API进行互联。
近日,Silk开源了Haskell的一个REST框架,叫作“rest”,rest为REST服务的定义提供了DSL,它能够在目前主流的web框架中运行,如happstack框架。
开源项目如今可谓无处不在,从Web到个人计算机再到智能手机,我们似乎随处可见它的身影。在今天的文章中,我们将共同探讨开源的三个话题。
在JavaOne 2011上,Peter Kriens关于OSGi做了两个介绍。Kriens的演讲解释了为什么尽管OSGi表现的很难,用OSGi实现模块化对于今天的应用开发者来说是很有价值的。他也解释了如何进入这个领域,同时澄清了一些关于OSGi和模块化应用的错误概念。那么对于模块化应用开发的未来是怎么样的?企业中OSGi应用开发如何实现?在这本教程中我们将为您详细介绍。
最近有一些争论,主要是关于是否完全成熟的OSGi模块化是严格意义上必须的东西,或者Jigsaw是否一种足够好的“更简单”的方法。但是也许关键点在于对于任何既定的组件在哪里适合什么模块化。OSGi是Java领域里无可辩驳的最成熟的模块系统,它与Java几乎是如影相随。在这本技术手册中我们将分三部分来和大家聊聊OSGi模块化以及它和Java千丝万缕的关系。
2014将会是API管理方法新旧PK的一年,据Delyn Simons说,她领导了Mashery开发者的外展团队。应用编程接口(API)的主流化和私有化在新的一年也将掀起波澜,她在波士顿“Future Insights Ultimate Developer Event 2013”大会上预测说。
BPMN(业务流程建模标注)是BPM以及workflow的建模语言标准之一,有必要学习。BPMN的主要目标就是要提供被所有业务用户理解的一套标记语言,包括业务分析者、软件开发者以及业务管理者与监察者。BPMN还将支持生成可执行的BPEL4WS语言。所以,BPMN在业务流程设计与流程实现之间搭建了一条标准化的桥梁。在这本见习手册中,我们将介绍一些相关知识,希望对您有所帮助。
TechTarget
企业级IT网站群
TechTarget中国 版权所有
All Rights Reserved, Copyright
TechTarget中国 版权所有
All Rights Reserved, Copyright温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
一 安装nodejs目前最新版本都是集成npm的,不用单独去下载官网:& 下载想对应的安装文件,双击exe文件进行安装,win7默认安装在C:\Program Files\nodejs 目录下此时可以在nodejs的命令窗口中输入命令查看npm是否装好输入 &npm &-v & 输出版本号证明npm已装好二 &安装相关环境
打开C:\Program Files\nodejs目录你会发现里面自带了npm,直接用npm安装相环境既可
&进入node.js command prompt 命令窗口
进入nodejs 安装目录 C:\Program Files\nodejs
键入命令:cd C:\Program Files\nodejs 既可
现在开始安装相关环境
键入命令:npm express 回车等待安装express........
键入命令:npm&jade 回车等待安装jade........
键入命令:npm&mysql回车等待安装mysql........
........安装什么组件,取决于环境搭建需求
默认情况下上述组件都是安装在C:\Program Files\nodejs\node_modules文件夹下 这也是nodejs相关组件的自动查找路径三 创建工程&准备工作终于做好了,可以创建个工程写helloword的了&在C:\Program Files\nodejs文件下创建一个wang的工程名,然后将node_modules文件拷入wang的文件夹中& 新建js文件,内容如下:&&& & &&var&http&=&require("http"); && & &http.createServer(function(request,&response)&{ & && & &response.writeHead(200,&{"Content-Type":&"text/plain"}); & && & response.write("Hello&World"); & && & response.end();&& & }).listen(8888); && &console.log("nodejs&start&listen&8888&port!");打开nodejs命令窗口,进入wang工程所在的目录C:\Program Files\nodejs\wang输入 node hello.js运行结果如下所示nodejs start listen 8888 &port!赶紧再浏览器中输入 127.0.0.1:8888 去查看helloword吧!
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'首次使用nodejs的心路历程',
blogAbstract:'很早之前就有朋友介绍过nodejs,由于懒惰一直没有学习,今天心血来潮自己在网上搜的相关资料用nodejs写了一个helloword从安装nodejs到写出一个helloword步骤:一 安装nodejs目前最新版本都是集成npm的,不用单独去下载官网:
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}}

我要回帖

更多关于 nodejs 日志模块 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信