相关疑难解决方法(0)

使用winston,morgan和winston-daily-rotate-file实现记录器

我正在尝试在节点js中实现一个记录器,它将在日志的自定义格式上每天创建一个新的日志文件

为此,我使用了三个包

  1. 温斯顿
  2. 摩根
  3. 温斯顿 - 每天 - 转 - 文件

所以每天应该在日志文件夹中创建一个新的日志文件的最终输出,它应该将所有http(摩根日志)和键入的日志(winston日志)记录到以下格式的单个文件中

日期|| 文件名|| statusCode || logMessage || uuid(用于追踪)

例如:Fri Jan 18 2019 13:48:18 GMT + 0530(IST)|| [index.js] || 200 || 调用新路径|| 287dccb0-1afa-11e9-88a0-dfb1c665be9d

所以为此,我写了三个文件index.js(nodejs的根文件)logger.js(logger实现和配置)和logger.test.js(使用jest的logger测试用例)

额外的包

  1. CORS
  2. UUID
  3. HTTP上下文
  4. 应用根路径
  5. 表达-HTTP上下文
  6. 笑话

我遇到的问题

  1. 如果我把一个logger.error({消息:{的StatusCode::200,logMsg "服务器将开始在端口3000"}})index.jsapp.listen之前CONSOLE.LOG)(UUID是空值
  2. 我写的测试用例是错误的,我是开玩笑的新手,我只想知道如何检查所有这些情况.
  3. 为什么当我测试套装uuid为null时,我怎么能通过uuid测试用例呢
  4. 我如何检查是否将创建新文件夹,如果已经登录文件夹,那么新文件就会被创建一种测试用例.
  5. 如何根据环境添加其他级别,信息,debuge,警告.如何改进此代码以实现记录器功能

// index.js

const app = require('express')();
const cors = require('cors')
const morgan = require('morgan') // HTTP request logger middleware 
const logger = require('./config/logger')(module) //Logger
const …
Run Code Online (Sandbox Code Playgroud)

javascript logging node.js

6
推荐指数
1
解决办法
1345
查看次数

标签 统计

javascript ×1

logging ×1

node.js ×1