国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Node.js 在本地生成日志文件的方法

2024-05-06 15:44:14
字體:
來源:轉載
供稿:網友

平常都使用console來打印 node 腳本執行時需要看到的信息,但這些信息也就只能在控制臺查看。假如你希望將打印的信息輸出到日志(log)文件查看的話,那就往下看看吧。

1、前言

期望:

每次運行腳本時,生成log日志存儲到本地 每次執行腳本,之前日志內容清空

需要了解的知識點:

fsnew 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 的兩個模塊fsconsole后,我們開始寫這個簡單而實用的方法,先創建 index.js

// index.jsconst fs = require('fs');let opions = { flags: 'a', //  encoding: 'utf8', // utf8編碼}let stderr = fs.createWriteStream('./a.log', options);// 創建loggerlet logger = new console.Console(stderr);// 真實項目中調用下面即可記錄錯誤日志logger.log('這是一條日志1');logger.log('這是一條日志2');logger.log('這是一條日志3');

打開終端執行node logger.js:

$ node index.js

此時根目錄將會生成 a.log 文件

好了,最簡易版的就這樣完成了。但是當時在此執行node logger.js時,日志將會累加上去,這樣會增加本地存儲的負擔。所以我希望的是每次執行的時候清空一下。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 芜湖县| 乌兰察布市| 上栗县| 图木舒克市| 平定县| 阿巴嘎旗| 南漳县| 安义县| 涡阳县| 滦南县| 柘荣县| 樟树市| 阿尔山市| 佳木斯市| 齐河县| 伊川县| 阿坝| 钦州市| 舟山市| 绥化市| 山阴县| 博兴县| 武隆县| 东城区| 获嘉县| 贵定县| 丽江市| 巴马| 杭锦旗| 金乡县| 荣昌县| 呼图壁县| 吕梁市| 宁河县| 剑阁县| 东至县| 余姚市| 东至县| 湖州市| 内丘县| 衡水市|