平常都使用
console来打印 node 脚本执行时需要看到的信息,但这些信息也就只能在控制台查看。假如你希望将打印的信息输出到日志(log)文件查看的话,那就往下看看吧。1、前言
期望:
每次运行脚本时,生成log日志存储到本地
每次执行脚本,之前日志内容清空
需要了解的知识点:
fs
new console.Console
2、什么是 fs
使用 node.js 对日志进行存储,就一定会对本地文件的增删改查,那么我们需要用到fs。
如果你写过 node,想必你应该见过它
fs,fs全称为文件系统(File System)。文件系统简单来说就是通过 Node 来操作系统中的文件。fs 不需要 npm install,node 中自带,直接引用即可:
const fs = require('fs');本文将会使用 fs 的
fs.createWriteStream(path, options)方法,用于创建可读流,用法如下:
/**
* @param1 path
* @param2 options
*/
let fs = require('fs');
let ws = fs.createWriteStream('./1.txt',{
flags:'w'//文件的打开模式
,mode:0o666//文件的权限设置
,encoding:'utf8'//写入文件的字符的编码
,highWaterMark:3//最高水位线
,start:0 //写入文件的起始索引位置
,autoClose:true//是否自动关闭文档
})以此用于在日志记录后于本地生成日志文件。
3、new console.Console(stdout[, stderr][, ignoreErrors])
在 node.js 中 console 模块提供了基础的调试功能。使用很简单,常用的API主要有 console.log()、console.error()。
此外,可以基于Console类,方便的扩展出自己的console实例,比如把调试信息打印到文件里,而部署输出在控制台上。
const fs = require('fs');
const file = fs.createWriteStream('./outPut.txt');
let logger = new console.Console(file, file);
// 调用
logger.log('hello');此时,调用
logger.log内容将会输出到 outPut.txt里,而不是打印到控制台。4、node.js 生成日志文件方法
在了解完 node 的两个模块
fs和
console后,我们开始写这个简单而实用的方法,先创建 index.js
// index.js
const fs = require('fs');let opions = {
flags: 'a', //
encoding: 'utf8', // utf8编码
}
let stderr = fs.createWriteStream('./a.log', options);









