首先使用nodejs标准的文件系统module fs:

const fs = require('fs');

日志一般都要打时间戳,所以导入时间戳工具:

const dateTime = require('node-datetime');

根据不同的日志级别写入本文log文件:

var log = {setName:function(message) {logName = message;},all:function(message){console.log(getDate() + ' [ ALL   -  '+prepareLogName()+'] '+ message);writeMessage(getDate() + ' [ ALL   -  '+prepareLogName()+'] '+ message);},trace:function(message){console.log(getDate() + ' [ TRACE -  '+prepareLogName()+'] '+ message);writeMessage(getDate() + ' [ TRACE -  '+prepareLogName()+'] '+ message);},debug:function(message){console.log(getDate() + ' [ DEBUG -  '+prepareLogName()+'] '+ message);writeMessage(getDate() + ' [ DEBUG -  '+prepareLogName()+'] '+ message);},info:function(message){debugger;console.log(getDate() + ' [ INFO  -  '+prepareLogName()+'] '+ message);writeMessage(getDate() + ' [ INFO  -  '+prepareLogName()+'] '+ message);},warn:function(message){console.log(getDate() + ' [ WARN  -  '+prepareLogName()+'] '+ message);writeMessage(getDate() + ' [ WARN  -  '+prepareLogName()+'] '+ message);},error:function(message){console.log(getDate() + ' [ ERROR -  '+prepareLogName()+'] '+ message);writeMessage(getDate() + ' [ ERROR -  '+prepareLogName()+'] '+ message);},fatal:function(message){console.log(getDate() + ' [ FATAL -  '+prepareLogName()+'] '+ message);writeMessage(getDate() + ' [ FATAL -  '+prepareLogName()+'] '+ message);},off:function(message){console.log(getDate() + ' [ OFF   -  '+prepareLogName()+'] '+ message);writeMessage(getDate() + ' [ OFF   -  '+prepareLogName()+'] '+ message);}
}

writeMessage方法的实现:调用fs同步写入本地日志文件:

function writeMessage(message) {pwd = process.cwd();fs.appendFileSync(pwd+'/logs/log', message+"\n");
}

最后写入的本地日志文件如下图:

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

一个nodejs里日志文件的实现相关推荐

  1. 为什么一个盘里的文件夹都不见了,里面一片空白,但那些文件所占的内存却还在的,但好像没被删除

    硬盘空间占用但没文件,硬盘空间占用但文件消失了为什么一个盘里的文件夹都不见了,里面一片空白,但那些文件所占的内存却还在的,但好像没被删除 工具/软件:AornData软件 步骤1:先百度搜索并下载程序 ...

  2. 自己动手写一个nodejs的日志生成器

    自己动手写一个nodejs的logger 最近正在边学边用node.js开发个人应用的server,由于有用到websocket相关,想对websocket的通信选择性的做下日志记录,所以萌发了自己动 ...

  3. php监听网页日志,如何用php程序监听一个不断增长的日志文件

    首先这个日志文件写入不是很频繁,它每一行就是一条有效的日志.我想php程序来监听这个文件,每当被写入一行的时候,我的php就自动读入一行,做出分析然后做相应的处理.请问要如何实现呢? 回复内容: 首先 ...

  4. 介绍一个能够对日志文件进行自定义高亮的 VS Code 扩展

    程序员日常工作中总是需要分析不少日志文件. 日志文件可以用默认的文本编辑器打开,但是缺乏语法高亮效果,下面是一个例子: 可以尝试安装这个 Visual Studio Code 扩展:Log File ...

  5. linux移动子目录到上一目录,linux 把当前目录的一个子目录里的文件移动到另一个子目录里用什么指令...

    linux中将一个文件放到一个文件夹中可以使用mv命令或者cp命令: 1,mv命令是移动或更名现有的文件或目录: 用法为 mv 文件名或者文件夹名 需要移动到的路径 例如: mv test.txt / ...

  6. gin 【日志记录】每天一个日志文件

    定义自己的logger package myloggerimport ("errors""fmt""os""sync"& ...

  7. 从Apache的日志文件收集和提供统计数据(一个Python插件架构的简单实现)

    从Apache的日志文件收集和提供统计数据 这一章我们将介绍基于插件程序的架构和实现.作为例子,我们将构建一个分析Apache服务器log文件的框架.这一次我们不再使用单片机的方式来创建,而是改为采用 ...

  8. Linux使用logrotate来切割日志文件

    程序在运行的时候为了了解运行状态,会输出日志文件,时间久了日志文件会变得非常大,甚至达到GB级别.我在golang应用里使用logrus包来打日志,配置和使用都很方便,就是没有日志分割的功能,应用在线 ...

  9. java -uf_Java如何快速修改Jar包里的文件内容

    需求背景:写了一个实时读取日志文件以及监控的小程序,打包成了Jar包可执行文件,通过我们的web主系统上传到各个服务器,然后调用ssh命令执行.每次上传前都要通过解压缩软件修改或者替换里面的配置文件, ...

最新文章

  1. LeetCode - Reverse Bits
  2. 美油合约收跌-37.65美元史上首次为负 交割没地存放拼命抛售
  3. hdu 1574(01背包)
  4. defined 函数使用
  5. spring boot:创建一个简单的web(maven web project)
  6. could not perform addBatch
  7. c语言的锁和Python锁,Python中全局解释器锁、多线程和多进程
  8. python3 批量修改文件扩展名——递归
  9. 拼多多上线“女装11.11爆款必买团”活动 一款打底裤一天卖出4.2万单
  10. java线程同步(synchronized,wait,notify,notifyAll)
  11. 美国Hack the Army 3.0 漏洞奖励计划启动
  12. 那些有实力进入 BAT 的本科生,都做对了什么事?
  13. ENVI软件中决策树分类和监督分类算法比较
  14. javascript调试 debugger 代码调试
  15. c java python sql是什么意思_讲解:COIT12206、program、Java、Python、c/c++Python|SQL
  16. 牛客网SQL实战二刷 | Day1
  17. Android 2 时代到来了,敢为天下先是我等求知若渴的程序员的优秀品质
  18. 企微群机器人定时提醒
  19. ps 简笔画效果制作
  20. 「小程序JAVA实战」微信小程序简介(一)

热门文章

  1. Sharepoint 2010 隐藏基本搜索中心搜索结果左侧的分类条件
  2. PLM中BOM核心技术的研究[转]
  3. 罗氏制药世界搜索引擎跟踪,关键字 罗氏制药
  4. 对抗焦虑症(恐惧症)研究
  5. R语言观察日志(part17)--.Primitive
  6. Django从理论到实战(part36)--QuerySet转换SQL
  7. Django(part31)--admin后台数据库管理
  8. SQL查询语句基础构成
  9. SAP 电商云 Spartacus UI 产品搜索结果的设计明细
  10. 关于内容分发网络 CDN 的可靠性和冗余性