跳转至
开发版采用单机部署,无需产品 License 文件。需要多机部署或大规模性能测试? 了解企业版

日志语句

日志语句用于在过程执行期间,输出调试或监控等日志信息。您可以根据所创建过程的具体情况,指定打印的日志位置、级别和内容。

按照紧急程度从低到高排序,日志级别包括DEBUG<INFO<WARN<ERROR<FATAL,在日志语句中对应的关键字分别为:

  • LOG_DEBUG:指定该级别以打印调试信息。默认禁用。
  • LOG_INFO:指定该级别以打印过程中的常规操作信息,用以提示用户过程按预期运行。默认启用。
  • LOG_WARN:指定该级别以打印可能发生问题的警告信息。默认启用。
  • LOG_ERROR:指定该级别以打印影响核心功能的错误信息。默认启用。
  • LOG_FATAL:指定该级别以打印导致过程终止的致命错误。默认启用。该级别日志会终止过程执行。

默认情况下,可以输出的最小日志级别为INFO,只有该级别及以上的日志会被输出,低级别日志会被忽略。如需修改,请参见配置最小日志级别。

Note

每个过程的日志大小上限为64MB。处理大规模图时,在 PER NODE 或 PER PATH 子句中谨慎打印日志,以防止超出日志限制。

语法

log_statement
LOG_DEBUG LOG_INFO LOG_WARN LOG_ERROR LOG_FATAL ( log_message , )

log_statement ::= ('LOG_DEBUG' | 'LOG_INFO' | 'LOG_WARN' | 'LOG_ERROR' | 'LOG_FATAL') '(' log_message (',' log_message)* ')' 

参数

log_message

日志中的内容模块,多个模块可以组合成一条日志,用逗号(,)分隔。每个模块可以引用一个变量名称或字面量。

支持的变量类型(必须在使用日志语句之前定义):

支持的字面量类型:

  • 数值
  • 字符串(必须使用双引号"包裹)
  • 布尔
  • 时间
  • 列表

示例

以下示例基于 CREATE TEMPORARY GRAPH 中创建的临时图#movie_temporary_graph。

打印带变量的日志

'''
USE #movie_temporary_graph { 
  VALUE w SumAgg<INT> = 0 
  MATCH ()-[e:Watch]-() 
  PER PATH { 
    SET @w += 1 
  } 
  LOG_INFO("Finish Iteration") 
  LOG_WARN("Final w: ", @w) 
  RETURN @w AS watch_count 
}
'''

返回:

+-------------+
| watch_count |
+-------------+
| 7820        |
+-------------+
Log:
2025-07-23T07:45:28.432266 INFO  - Finish Iteration
2025-07-23T07:45:28.432531 WARN  - Final w: 7820

打印FATAL日志

'''
USE #movie_temporary_graph { 
  LOG_DEBUG("This is a debug log") 
  LOG_INFO("This is an info log") 
  LOG_WARN("This is a warning log") 
  LOG_ERROR("This is an error log") 
  LOG_FATAL("This is a fatal log") 
}
'''

返回:

Error: [NP101]: Procedure error: 2025-07-22T06:38:13.247332 FATAL - This is a fatal log

上述语句会终止过程执行,返回错误信息,并打印FATAL级别的日志。