winston是一款nodejs的日志库,本文以2.1.1版本为例,介绍一下使用方法。

1.基础用法

引用日志库,返回的是一个对象。包含一些构造器,实例方法。

其中transports是日志输出方式。.

Logger是实例构造器,Transport是日志输出实例构造器。最后一块是实例方法,用于输出日志,log是常规方法,剩余的是指定日志类型的方法。

使用默认的日志实例进行日志输出

1.1 自定义日志实例

使用Logger构造器创建实例,需要传入配置项(level,transports等)。Console为默认的输出配置。

1.2 格式化

默认格式化器缺少细节信息,没有时间戳、机器名和进程号,输出格式也不那么适合机器处理。你可以得到所有信息,只是得自己稍微多做点工作。

输出如下,信息更丰富,但依然不那么适合机器处理。
info: Hello world! timestamp=1402286804314, pid=80481

最后,log方法提供了和util.format一样的字符串添补方法:%s替换字符串,%d替换数字(整形或浮点型),%i(替换整形),%f(替换浮点型)

最后一个对象都会被做为meta解析成=形式,比如{name:sc}作为meta会解析成name=sc;

除此之外还可以在transports中配置

输出 1530587425268 INFO sc

2.输出日志(transports)

winston内置的有Console,File,Http三种方式,默认是Console。

Console:输出到终端(控制台),File输出到文件,Http是以流式传输的方式传递给nodejs http或者https请求。

对于每个日志实例都可以通过add方法添加输出方式,用remove方法移除。

2.1 日志分类输出

info.log内会收集所有日志,warn中会收集warn和error类型日志,error中只收集error日志。

文档看完了以后再补

nodejs 日志框架winston笔记的更多相关文章

  1. Express NodeJs Web框架 入门笔记

    Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具. 使用 Express 可以快速地搭建一个完整功能的网 ...

  2. Node.js日志框架选型比較:Winston

    日志对于问题定位.调试,系统性能调优至关重要,尤其是系统复杂以及在线执行的情况下. 好的开发框架都会有一个可开启关闭/可配置记录级别的日志系统.我们从下面几个方面来做选型: 1. 每行日志都须要有准确 ...

  3. SpringBoot学习笔记(13):日志框架

    SpringBoot学习笔记(13):日志框架——SL4J 快速开始 说明 SpringBoot底层选用SLF4J和LogBack日志框架. SLF4J的使用 SpringBoot的底层依赖关系 1. ...

  4. golang日志框架--logrus学习笔记

    golang日志框架--logrus学习笔记 golang标准库的日志框架非常简单,仅仅提供了print,panic和fatal三个函数,对于更精细的日志级别.日志文件分割以及日志分发等方面并没有提供 ...

  5. Spring Boot笔记四:日志框架介绍

    我是一名程序员,我喜欢写System.out.println来打印一些重要的信息...后来我学了面向对象,我把这些输出语句整合到了一个工具类里面,可以打印,也可以保存日志. 我是一名积极思考的程序员, ...

  6. java日志框架笔记-log4j-springboot整合

    # 日志框架slf4j log4j logback之间的关系 简答的讲就是slf4j是一系列的日志接口,而log4j logback是具体实现了的日志框架. ```java SLF4J获得logger ...

  7. 后端——框架——日志框架——logback——《官网》阅读笔记——第一章节

    第一章节搭建了logback日志框架的环境,演示了Hello World的示例,并详细分析了示例. 搭建日志框架的过程非常简单,只需要在项目的classpath上添加以下三个jar包,logback- ...

  8. Nodejs日志管理包

    Nodejs日志管理工具包:log4js 和 winston 1.log4js的使用 1)package.json中加入依赖 "log4js":"~0.6.21" ...

  9. Yii框架学习笔记(二)将html前端模板整合到框架中

    选择Yii 2.0版本框架的7个理由 http://blog.chedushi.com/archives/8988 刚接触Yii谈一下对Yii框架的看法和感受 http://bbs.csdn.net/ ...

随机推荐

  1. ①将SVN迁移到GitLab-单分支迁移

    将SVN上的代码迁移到GitLab上,实际原理是将所迁移的服务器上,拷贝SVN上的相关代码,在服务器上生成Git相关仓库,然后推送到GitLab仓库,并保存SVN相关的提交记录,分支,标签等信息. 一 ...

  2. TweenMax—ScrambleText插件 实现类似电脑破译密码的特效

    首先贴一下TweenMax的中文网:https://www.tweenmax.com.cn/ 首先先展示一下最后的效果,需要的就继续看下去: 那团乱码是会一直变的 那么如何实现上图的效果呢??? 其实 ...

  3. MySQL Replication--修复从库上单个数据库的数据

    问题描述 由于运维失误,从库未及时设置read_only,导致从库上某库数据被修改,由于整个实例数据量较大,重做成本较高,而该数据库数据较少,因此考虑如何修复该数据库的数据. 操作前提 1.复制使用位 ...

  4. 安装folly库以及folly的ConcurrentHashMap的简单使用

    我在写grpc的实例时, 需要使用一个多线程的hash map, C++标准库中没有多线程的hash map, facebook开源的folly中存在大量的基础类, 中间存在一个高性能的hash ma ...

  5. curl-手册

    Manual -- curl usage explained Related: Man Page FAQ LATEST VERSION   You always find news about wha ...

  6. kali linux 虚拟机克隆之后版本回退问题

    今天在做虚拟机的克隆的之后发现 之前kali linux 系统内核升级后的更改全部又回退到之前的版本,也就是说之前安装的软件被删除了,现在需要自己重新安装一遍  ,(我滴个乖乖哟) 这里就不放图了.

  7. Redis一主二从Sentinel监控配置

    本文基于Redis单实例安装安装.https://gper.club/articles/7e7e7f7ff7g5egc4g6b 开启哨兵模式,至少需要3个Sentinel实例(奇数个,否则无法选举Le ...

  8. Caused by: java.nio.charset.MalformedInputException: Input length = 1

    java.lang.IllegalStateException: Failed to load property source from location 'classpath:/applicatio ...

  9. The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use

    java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecognized or represents more tha ...

  10. 如何在linux环境下配置环境变量

    jdk下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 在linux环 ...