先前曾总结了2篇文章(见:《log4js按分类和日期存储为多文件问题》和《使用定时任务解决log4js的按日期存储问题》)描述如何解决log4js的按日期存储问题,然而,通过日志可以发现,前述方案虽然解决了操作日志的按日期存储问题,却并没有解决通过log4js.connectLogger中间件方式产生的访问日志的按日...[阅读全文] 在《log4js按分类和日期存储为多文件问题》一文中,曾提出一种解决方案,以解决日志文件的分类、分日期存储问题。但,在NestJS的实践中,却发现,实际的日志输出并不严格按照日期分文件存储,即,当天的日志有很大可能是和前一天的日志存储在同一个(前一天)日志文件中。同时,中间件的方式也影响...[阅读全文] log4js 升级到 2.x 版本后,原先的 dateFile 不再支持按 category 输出单独文件,需转为 multiFile 形式。但,multiFile 并不支持配置为按 date 输出单独文件。因此,需进行特殊处理。修改配置如下:appenders: { system: { type: 'multiFile', base: 'logs/', extension:...[阅读全文] Strict Mode和ESLint规范都禁止使用arguments.callee,原因参见:Strict mode、arguments.callee。但在设计日志系统和日志格式时,却需要记录日志信息所在函数或方法。简单粗暴的方式便是直接hard coding,将函数、方法名copy到日志数据中,如此产生的问题便是一旦函数、方法名变更,便需要同步...[阅读全文] 截止目前,尚没有IDE完美地集成对Node.js程序的调试支持,因此,对Node.js应用的调试,需要通过其他一些手段或工具实现。
简单粗暴方式
console.log等console对象的日志方式。
进阶
log4js等文件日志方式。
极客方式
类似Firebug等断点调试工具。
以上三种方式各有优劣:
console方式简单、直接...[阅读全文]