日志介绍

最近更新时间:2018-08-28 15:43:40

log 语句为函数提供必要的执行过程中的信息,是开发者对代码进行排障的必要手段。SCF 平台会将用户在代码中使用 log 语句生成的日志全部写入日志系统中,如果您使用控制台调用函数,控制台将显示相同的日志。

用户可以通过以下语句生成日志条目:

  • print
  • logging 模块中的 Logger 函数

使用 logging 语句写入日志

import logging
logger = logging.getLogger()
def my_logging_handler(event):
    logger.info('got event{}'.format(event))
    logger.error('something went wrong')
    return 'Hello World!'

上述代码使用 logging 模块将信息写入日志中,您可以前往控制台日志模块或通过 获取函数运行日志 API 来查看代码中的日志信息。日志级别标识日志的类型,例如 INFOERRORDEBUG

使用 print 语句写入日志

您也可以在代码中使用 print 语句,如以下示例所示:

def print_handler(event):
    print('this will show up in logging')
    return 'Hello World!'

使用控制台【测试】按钮同步调用此函数时,控制台将显示 print 语句和 return 的值。

获取日志

您可以通过以下方法获取函数运行日志

  • 如果您是通过控制台【测试】按钮同步调用函数
    • 执行完成后会直接在控制台展示本次调用的日志
  • 如果函数被触发器调用
    • 函数的日志选项卡中会展示函数每一次被调用产生的日志
    • 也可以通过 GetFunctionLogs 接口获取函数日志
  • 如果函数被 Invoke API 同步调用
    • 可在返回值的 logMsg 字段中获取本次调用的日志