日志语句¶
日志语句用于在过程执行期间,输出调试或监控等日志信息。您可以根据所创建过程的具体情况,指定打印的日志位置、级别和内容。
按照紧急程度从低到高排序,日志级别包括DEBUG<INFO<WARN<ERROR<FATAL,在日志语句中对应的关键字分别为:
LOG_DEBUG:指定该级别以打印调试信息。默认禁用。LOG_INFO:指定该级别以打印过程中的常规操作信息,用以提示用户过程按预期运行。默认启用。LOG_WARN:指定该级别以打印可能发生问题的警告信息。默认启用。LOG_ERROR:指定该级别以打印影响核心功能的错误信息。默认启用。LOG_FATAL:指定该级别以打印导致过程终止的致命错误。默认启用。该级别日志会终止过程执行。
默认情况下,可以输出的最小日志级别为INFO,只有该级别及以上的日志会被输出,低级别日志会被忽略。如需修改,请参见配置最小日志级别。
语法¶
- log_statement
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级别的日志。