本文介绍如何使用Logtail采集Node.js日志。

背景信息

log4js是一个Node.js日志管理工具,您可以通过log4js把Node.js日志打印到文件中,并自定义日志格式,便于日志采集和整理。 log4js分为6个输出级别,从低到高分别为trace、debug、info、warn、error、fatal。 log4js配置示例如下所示:
var log4js = require('log4js');
log4js.configure({
  appenders: [
    {   
      type: 'file', //文件输出
      filename: 'logs/access.log', 
      maxLogSize: 1024,
      backups:3,
      category: 'normal' 
    }   
  ]
});
var logger = log4js.getLogger('normal');
logger.setLevel('INFO');
logger.info("this is a info msg");
logger.error("this is a err msg");

操作步骤

日志服务提供配置向导,帮助您快速完成Logtail采集配置。本文以通过完整正则模式采集Node.js日志为例。

  1. 登录日志服务控制台
  2. 接入数据区域,选择正则-文本日志
  3. 选择目标Project和Logstore,单击下一步
  4. 创建机器组。
    • 如果您已有可用的机器组,请单击使用现有机器组
    • 如果您还没有可用的机器组,请执行以下操作(以ECS为例)。
      1. ECS机器页签中,通过手动选择实例方式选择目标ECS实例,单击创建

        具体操作,请参见安装Logtail(ECS实例)

        重要 如果您的服务器是与日志服务属于不同账号的ECS、其他云厂商的服务器和自建IDC时,您需要手动安装Logtail。更多信息,请参见安装Logtail(Linux系统)安装Logtail(Windows系统)

        手动安装Logtail后,您必须在该服务器上手动配置用户标识。具体操作,请参见配置用户标识

      2. 安装完成后,单击确认安装完毕
      3. 创建机器组页面,输入名称,单击下一步

        日志服务支持创建IP地址机器组和用户自定义标识机器组,详细参数说明请参见创建IP地址机器组创建用户自定义标识机器组

  5. 选中目标机器组,将该机器组从源机器组移动到应用机器组,单击下一步
    重要 创建机器组后立刻应用,可能因为连接未生效,导致心跳为FAIL,您可单击自动重试。如果还未解决,请参见Logtail机器组无心跳进行排查。
  6. Logtail配置页签中,创建Logtail配置。
    重要参数配置如下所示。其他参数说明,请参见使用完整正则模式采集日志
    • 日志样例[2022-02-24 17:42:38.946] [INFO] normal - this is a info msg
    • 正则\[([^]]+)]\s\[(\w+)]\s(\w+)\s-\s(.*)
    • 日志抽取内容:日志服务会根据您输入的日志样例和正则表达式,自动提取日志内容。您需要为该内容设置对应的Key。
    Node.js日志
  7. 预览数据及创建索引,然后单击下一步
    日志服务默认开启全文索引。您也可以根据采集到的日志,手动创建字段索引,或者单击自动生成索引,日志服务将自动生成字段索引。更多信息,请参见创建索引
    重要 如果您要查询和分析日志,那么全文索引和字段索引必须至少启用一种。同时启用时,以字段索引为准。
  8. 单击查询日志,系统将跳转至Logstore查询分析页面。
    您需要等待1分钟左右,待索引生效后,才能在原始日志页签中,查看已采集到的日志。更多信息,请参见查询和分析日志