
# 配置和查看函数的调用日志
FunctionGraph函数实现了与云日志服务的对接，用户无需任何配置，即可查询函数日志信息。
在FunctionGraph函数控制台，可以通过以下两种方式查看函数日志。
- 在测试页签查看日志 函数创建完成后，可以测试函数，在执行结果页，可以查看函数测试日志。操作步骤请参见[在线调试函数](https://support.huaweicloud.com/usermanual-functiongraph/functiongraph_01_0302.html)。
  此处最多显示2KB字节日志，如果日志太多，可以去函数详情页日志页签查询日志。
  
- 在日志页签查看日志 在函数详情页"监控 \> 日志"页签，查询日志信息，操作步骤请参见[云日志服务（LTS）管理函数日志]。
  
 #### 配置日志组、日志流和查看函数日志
用户可以针对某个函数自行关联日志组和日志流，管理函数日志，即进行函数调用后，调用日志会保存到指定的日志组和日志流下。若未指定，函数调用日志会保持原逻辑自动生成在系统默认创建的日志流下（即创建一个函数默认创建一个对应的日志流），具体请参见[云日志服务（LTS）管理函数日志]。
**操作步骤**
1. 登录[函数工作流控制台](https://console.huaweicloud.com/functiongraph/?locale=zh-cn)，在左侧的导航栏选择"函数 \> 函数列表"。
2. 单击函数名称进入函数详情页。
3. 选择"设置 \> 日志配置"，参见[表1]进行配置。
   
    表1日志配置参数说明 
   | 参数     | 说明                                                                                                                                                                                                                             |
   |:---|:---|
   | 启动日志记录 | V2版本默认为开启状态，V1版本当前不支持此特性。                                                                                                                                                                                                      |
   | 日志组    | 为当前函数指定日志组。禁选functiongraph默认创建的日志组functiongraph.log.group.xxx。如何创建日志组详情请参见[管理日志组](https://support.huaweicloud.com/usermanual-lts/lts_04_0003.html)。 默认展示系统自动生成的日志组（以functiongraph开头）。 |
   | 日志流    | 指定日志组下的日志流。如何创建日志流详情请参见[管理日志流](https://support.huaweicloud.com/usermanual-lts/lts_04_0004.html)。 默认展示为创建函数时自动生成的日志流（以函数名称开头）。                                                          |
      
   
   
4. 配置完成后单击"保存"。 
   ![](https://support.huaweicloud.com/usermanual-functiongraph/public_sys-resources/note_3.0-zh-cn.png)
   函数的日志流可以在更新时随时修改。
   
   
5. 选择"代码"页签，单击"测试"执行函数。
6. 函数执行完成后，选择"监控 \> 日志"，查看函数日志。 
   - 如[图1]，表示当前函数日志指定生成在该日志组及日志流下。
   
   - 若未指定，此处的日志组显示为系统默认创建的日志组及日志流，日志组名称以"functiongraph"开头。
     图1查看函数日志   
     ![](https://support.huaweicloud.com/usermanual-functiongraph/zh-cn_image_0000002129169461.png "点击放大") 
   
   - 图中日志列表中可以区分是否请求经过冷启动，下边一条请求显示的冷启动成功，其中耗时13.100ms，表示当前请求是经过冷启动的调用总耗时，日志中上边一条日志显示调用成功，其中耗时1.671ms，表示当前请求不经过冷启，调用耗时。
     图2日志   
     ![](https://support.huaweicloud.com/usermanual-functiongraph/zh-cn_image_0000002093570306.png "点击放大") 
   
   
   
   
 
#### 日志标签
函数执行时，可以按照自定义标签配置上报标签到云日志服务(LTS)，用户可以通过标签对日志进行过滤筛选。
1. 新创建函数时，可在"高级设置"中开启"日志记录"，并单击"添加标签"增加日志标签；如已创建函数，请从[步骤2]开始配置。
2. 在函数详情页中，选择"设置 \> 日志配置"，开启"日志记录"，选择日志组和日志流。
3. 单击"添加新标签"，输入标签键和标签值，最多支持添加10个标签，配置完成后单击"保存"。 
   表2日志标签介绍 
   | 参数名称 | 说明                             |
   |:---|:---|
   | 标签键  | 不能为空，只能包含数字、字母、下划线和中划线，最大长度64。 |
   | 标签值  | 不能为空，只能包含数字、字母、下划线和中划线，最大长度64。 |
      
   图3添加日志标签   
   ![](https://support.huaweicloud.com/usermanual-functiongraph/zh-cn_image_0000002412342197.png "点击放大")
   
   
   
4. 选择"代码"页签，配置测试事件后，单击"测试"，等待函数执行完成。
5. 选择"监控 \> 日志"，在"请求列表"中查看函数请求记录（日志上报会有延迟，请稍等几分钟）。
6. 登录云日志服务控制台，左侧选择"日志管理"，在日志组列表中选择筛选条件后，搜索函数配置的日志组名称，在搜索结果中再选择日志流的筛选条件，并搜索函数配置的日志流名称，单击日志流名称进入详情页面。 
   图4搜索日志流   
   ![](https://support.huaweicloud.com/usermanual-functiongraph/zh-cn_image_0000002128894645.png "点击放大")
   
   
   
7. 在日志流详情页面，右侧单击"日志设置"，进入"索引配置"面板，单击"添加字段"，新增在函数中新添加的日志标签键，如何设置索引请参见[设置LTS日志索引配置](https://support.huaweicloud.com/usermanual-lts/lts_05_0008.html)。配置完成后，单击"确定"。
8. 返回日志流详情页面，在搜索框中输入函数配置的日志标签键和值，即可查看匹配的日志内容。
 
 #### 云日志服务（LTS）管理函数日志
FunctionGraph支持开通云日志服务(LTS)，使用更丰富的函数日志管理功能。开通云日志服务后，FunctionGraph会自动创建1个日志组（functiongraph开头），创建函数后，会默认生成一个日志流（函数名称开头）。
您也可以针对某个函数自行关联日志组和日志流，管理函数日志，即进行函数调用后，调用日志会保存到指定的日志组和日志流下。具体操作请参见[配置日志组、日志流和查看函数日志]。
**约束与限制：**
- 默认创建的20个日志流，您无法自定义。您可以在函数的"日志"页签下，按"F12"，找到query接口里的日志流ID，再到lts里找到对应的日志流ID。 ![](https://support.huaweicloud.com/usermanual-functiongraph/zh-cn_image_0000002171076733.png "点击放大")
  
- 若在LTS控制台误删函数日志组，之前的日志数据不可找回，FunctionGraph服务不感知该操作。此时您可以通过修改函数常规设置中的描述信息，保存后触发重建函数日志组。
- 用户普通实例的初始化阶段的日志大小限制为（10MB），超过大小限制的日志进行滚动更新，为您保留最新的日志。
1. 开通云日志服务（LTS）管理函数日志。 
   在"日志"页签，单击"去开启"跳转至设置中的"日志配置"界面，单击开启"日志记录"。
   图5开启日志功能   
   ![](https://support.huaweicloud.com/usermanual-functiongraph/zh-cn_image_0000002413573089.png "点击放大")
   
   
   
2. 设置查询条件。 
   - 请求列表：支持设置请求ID、[调用结果]（执行成功、执行失败）、[原因分析]（初始化失败、加载失败、系统错误、调用超时、内存超限、磁盘超限、代码异常）、耗时、实际使用内存。
     在使用查询字段前，需先在云日志服务LTS中配置相关字段信息，具体配置详情请参见[配置函数的日志过滤字段]。
     
   
   - 请求日志：支持关键字、请求ID、实例ID。
   
   
    表3调用结果 
   | 调用结果 | 说明                                                                                                                                |
   |:---|:---|
   | 执行成功 | 函数执行成功打印的日志。                                                                                                                      |
   | 执行失败 | 函数执行失败打印的日志，包含调用超时、内存超限、磁盘超限、代码异常四种情况。 若想查看调用超时的日志信息，请将"日志类型"切换为调用超时，另外3种执行失败下的日志类型查看方法相同。 |
      
    表4原因分析 
   | 原因分析  | 说明                        |
   |:---|:---|
   | 初始化失败 | 函数初始化失败打印的日志。             |
   | 加载失败  | runtime加载用户函数文件失败打印的日志    |
   | 系统错误  | 内部错误。                     |
   | 调用超时  | 函数调用时间超过配置的"执行超时时间"打印的日志。 |
   | 内存超限  | 函数内存大小超过配置的"内存"大小打印的日志。   |
   | 磁盘超限  | 磁盘超出限制大小打印的日志。            |
   | 代码异常  | 代码出现异常情况打印的日志。            |
      
   ![](https://support.huaweicloud.com/usermanual-functiongraph/public_sys-resources/note_3.0-zh-cn.png)
   - 支持的时间条件：最近1小时、最近1天、最近3天及自定义。
   
   - 您可以单击"到LTS进行日志分析等更多操作"，前往LTS控制台管理函数日志。
    
   
   
3. 开始日志分析。 
   "日志分析"页签下内置了LTS的日志分析功能模块，可参考[配置函数的日志过滤字段]为函数配置日志过滤字段，关于在LTS上分析日志的具体使用方法请参考[搜索与分析日志](https://support.huaweicloud.com/usermanual-lts/lts_07_0076.html)。
   
   
 
 #### 配置函数的日志过滤字段
函数工作流的日志查询功能支持多种过滤字段。您在使用前，需按照如下步骤完成配置后方可使用：
1. 返回函数工作流控制台，在左侧导航栏选择"函数 \> 函数列表"，进入函数列表页面。
2. 单击函数名称，进入函数详情界面。
3. 单击"监控"，进入"日志"页签，单击"日志分析"页签，可在函数工作流控制台使用LTS功能进行日志分析。
4. 单击右侧"日志设置"，进入"索引配置"页，单击"自动配置"后，等待后台自动配置全量字段信息。 
   图6日志设置   
   ![](https://support.huaweicloud.com/usermanual-functiongraph/zh-cn_image_0000002413635821.png "点击放大")
   
   
   
5. 自动配置完成后，将"memory"和"duration"两个字段的类型修改为"float"。同时，排查是否存在"errorType"字段，如没有请手动添加，完成后如[图7]所示。
   
   图7配置字段信息   
   ![](https://support.huaweicloud.com/usermanual-functiongraph/zh-cn_image_0000002379992456.png "点击放大")
   
   
   
6. 配置完成后，单击"确定"。返回函数的"监控 \> 日志 \> 请求列表"页签下，即可使用相关字段过滤信息。
 
#### 日志下载
**约束与限制：**
- 一次最多只能下载5000条日志，请合理选择时间范围，避免下载的日志缺失。
- 当前日志时间戳打印的时间为 UTC 时间。
1. 选择"监控 \> 日志"，单击"请求日志"页签。
2. 在"请求日志"页签下，选择时间范围，单击"下载日志"。
 
