Nodejs 如何接入日志平台

发布于 1周前 作者 yuanlaile 来自 nodejs/Nestjs

Nodejs 如何接入日志平台

搜了一圈 node 好像没有比较好的,第三方有推荐吗

8 回复

alinode, 阿里云 Node.js 性能平台


写入本地日志,用 filebeat --> logstash --> 日志平台

我们现在所有的应用日志都这么处理的,包括 java,node

https://ops-coffee.cn/s/7bygZNOr_mdCWpF9PrZcFg

什么日志平台

elk 有看到

看你想用啥咯,logstash 可以配置的嘛

sentry 可以本地部署

接入日志平台是Node.js应用进行监控和调试的重要步骤。以下是一个基本的步骤和示例代码,以展示如何将Node.js应用接入一个日志平台(如Winston配合日志管理服务,如Loggly、Papertrail等)。

  1. 安装Winston和相关传输模块

    npm install winston winston-transport
    npm install winston-loggly # 示例使用Loggly
    
  2. 配置Winston

    const winston = require('winston');
    const Loggly = require('winston-loggly-bulk').Loggly;
    
    const logger = winston.createLogger({
      level: 'info',
      format: winston.format.json(),
      transports: [
        new winston.transports.Console(),
        new Loggly({
          token: 'YOUR_LOGGLY_TOKEN',
          subdomain: 'your-loggly-subdomain',
          json: true
        })
      ]
    });
    
    logger.info('This is an info message');
    logger.error('This is an error message');
    
  3. 在应用中使用Logger: 将logger实例导入到你的应用文件中,并在需要记录日志的地方使用它。例如:

    const express = require('express');
    const app = express();
    const logger = require('./path/to/logger'); // 引入上面配置的logger
    
    app.get('/', (req, res) => {
      logger.info('Received GET request for /');
      res.send('Hello World!');
    });
    
    app.listen(3000, () => {
      logger.info('Server is running on port 3000');
    });
    

通过上述步骤,你的Node.js应用就可以成功接入日志平台,实现日志的集中管理和分析。

回到顶部