官网Winston非常适合配置不同的日志目的地。在我们的小程序中,让我们创建另一个传输。这次我想把日志保存到数据库中,MongoDB比较紧凑。在logger.js文件中,复制以下代码块。确保安装WinstonMongoDB,npminstallwinston-mongodb。如何使用MongoDB下载并安装MongoDBCommunityServer。导航到您的环境变量(对于Windows用户),在用户变量下,选择路径→编辑→新建,添加C:\异)。打开命令提示符并键入mongo。这将检查您是否已成功安装MongoDB。MongoDBshell版本将打印在您的终端上,这意味着您安装成功。输入使用日志创建数据库日志。输入db.createCollection("server_logs")创建一个集合。在logger.js中插入以下代码:const{createLogger,format,transports}=require('winston');//Importmongodbrequire('winston-mongodb');module.exports=createLogger({transports:[//文件传输newtransports.File({filename:'logs/server.log',format:format.combine(format.timestamp({format:'MMM-DD-YYYYHH:mm:ss'}),format.align(),format.printf(info=>`${info.level}:${[info.timestamp]}:${info.message}`),)}),//MongoDBtransportnewtransports.MongoDB({level:'error',//mongo数据库连接链接db:'mongodb://localhost:27017/logs',options:{useUnifiedTopology:true},//一个集合到保存json格式的日志collection:'server_logs',format:format.combine(format.timestamp(),//将日志转换为json格式format.json())})]});运行nodeapp.js启动服务器并访问以下内容触发服务器响应和请求的URLhttp://localhost:3000/http://localhost:3000/calchttp://localhost:3000/hello将记录到server.log文件。打开server.log查看记录的日志。任何错误日志都将记录在MongoDB数据库中。键入db.server_logs.find()以查看日志。MongoDB传输采用JSON格式。要将这些日志保存到Mongo数据库中,我们需要将它们转换为JSON格式。这是将记录插入Mongo数据库集合的唯一格式。更多Jerry原创文章在这里:《王子熙》:
