Node.js与Sails~日志机制log
看到Sails的日志就会想起来log4net,确实它们在很多地方是相似的,都是采用分级别记录的方式,而sails我觉得在使用上更加方便,它不需要我们做多于的事情,直接sails.log.级别("你的日志内容")就搞定了,你不需要关心什么单例,或者持久化方式,Sails的日志只是对console.log的一种补充,可以理解为分了类之后的console.log,并有颜色的区分,呵呵。
一 我们来看一下sails.log的日志级别
| Priority | level | Log fns visible |
|---|---|---|
| 0 | silent | N/A |
| 1 | error | .error() |
| 2 | warn | .warn(), .error() |
| 3 | debug | .debug(), .warn(), .error() |
| 4 | info | .info(), .debug(), .warn(), .error() |
| 5 | verbose | .verbose(), .info(), .debug(), .warn(), .error() |
| 6 | silly | .silly(), .verbose(), .info(), .debug(), .warn(), .error() |
二 开始测试我们的日志
sails.log('debug日志!');//sails.log.debug("debug")
sails.log.error('error日志!');
sails.log.warn('warn日志!','request aborted.');
sails.log.info('info日志!');
sails.log.verbose('verbose日志!');
sails.log.silly('silly日志!');
三 配置项目的日志级别,位于config/log.js
module.exports.log = {
level: 'info'
};
四 从结果中看到,日志记录时,只记录比当前配置级别低的日志内容
aaarticlea/png;base64,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" alt="" />
怎么样,sails的日志挺方便吧!
Node.js与Sails~日志机制log的更多相关文章
- 【译】深入理解python3.4中Asyncio库与Node.js的异步IO机制
转载自http://xidui.github.io/2015/10/29/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3python3-4-Asyncio%E5%BA%93% ...
- Node.js 的事件循环机制
目录 微任务 事件循环机制 setImmediate.setTimeout/setInterval 和 process.nextTick 执行时机对比 实例分析 参考 1.微任务 在谈论Node的事件 ...
- Node.js与Sails~项目结构与Mvc实现
回到目录 Sails是一个Node.js的中间件架构,帮助我们很方便的构建WEB应用程序,网址:http://www.sailsjs.org/,它主要是在Express框架的基础上发展起来的,扩展了新 ...
- Node.js入门:模块机制
CommonJS规范 早在Netscape诞生不久后,JavaScript就一直在探索本地编程的路,Rhino是其代表产物.无奈那时服务端JavaScript走的路均是参考众多服务器端语言来 ...
- Node.js入门:事件机制
Evented I/O for V8 JavaScript 基于V8引擎实现的事件驱动IO. 事件机制的实现 Node.js中大部分的模块,都继承自Event模块(http://n ...
- 项目日志的管理和应用 log4js-Node.js中的日志管理模块使用与封装
开发过程中,日志记录是必不可少的事情,尤其是生产系统中经常无法调试,因此日志就成了重要的调试信息来源. Node.js,已经有现成的开源日志模块,就是log4js,源码地址:点击打开链接 项目引用方法 ...
- log4js-Node.js中的日志管理模块使用与封装
开发过程中,日志记录是不可缺少的事情.尤其是生产系统中常常无法调试,因此日志就成了重要的调试信息来源. Node.js,已经有现成的开源日志模块,就是log4js,源代码地址:点击打开链接 项目引用方 ...
- Node.js与Sails~自定义响应体responses
回到目录 在Node.js里,你可以控制请求和响应,自己可以定义自己的响应方式,如对文本如何响应,对json如何响应,对图像流如何响应等等,而这些在Sails架构里,变得更加容易和清晰了,它位于项目的 ...
- Node.js和PHP运行机制对比
为什么要用node.js它又有什么优势呢?一个新的技术被大家喜爱那么它就必然有它的优势,那么下面我们就来简单把它和php做一个对比 1 . Node.js 他用的是JavaScript引擎,那么注定它 ...
随机推荐
- Struts2之提交对象数组至后台
struts2中有许多很好的特性,比如在设置好getter和setter方法后,加上前端的匹配设置,后台即可自动将前端输入的数据转换为后台的相应的对象. 如现在传入一个Person类的对象,其中Per ...
- 图层的核心动画(CABaseAnimation)续
Main.storyboard ViewController.m // // ViewController.m // 8A01.核心动画 // // Created by huan on 16/ ...
- <转>C++11标准后的C++阅读书目
C++11标准后的C++阅读书目 C++ 新标准 C++11 的发布导致了大批新书的出现,还有一些经典书籍也进行了更新.Andrew Binstock 在 Dr.dobbs 上给大家推介一些学习 C+ ...
- javascript基础知识-类和模块
在JavaScript中可以定义对象的类,让每个对象都共享这些属性. 在JavaScript中,类的实现是基于其原型继承机制的.如果两个实例都从同一个原型对象上继承了属性,我们就说它们是同一个类的实例 ...
- java.util.zip.ZipException: invalid entry size 解决办法
启动maven项目时报java.util.zip.ZipException: invalid entry size (expected 7612 but got 5955 bytes) 可能是mave ...
- NSDate
NSDate : NSDate *date = [NSDate date];获取当前日期 NSDate 可以进行比较,通过earlierDate:方法获取二个日期中最早的. NSDate 通过late ...
- web
1.linux下交换文件 .index.php.swp 有时可查看源码2.当php后缀被过滤的时候可以直接对ph开头的后缀进行一个fuzz测试可以上传的文件后缀名3.curl -x 123.45.67 ...
- 打包java项目为可执行程序(exe)
一直都是编写了java程序后在控制台 javac --> java 命令运行,或者在eclipse中运行,今天突然想怎么可以写好了一个项目随处可以运行呢? 于是网上搜了步骤,跟着一步一步实现了, ...
- ZabbixCPU温度监视-Centos
ZabbixCPU温度监视 1, lm_sensors安装 #yum install lm_sensors … #sensors-detect 出来的选项全部选yes 重启服务器 2, lm_sens ...
- VS2012 编译带有c/c++代码的python模块失败解决方案
python2.7默认编译带有/c++代码的模块/包是使用VS2008环境变量,所以为了可用,我们要在编译前设置环境变量 SET VS90COMNTOOLS=%VS110COMNTOOLS% 但有时只 ...