Log Delivery Configuration

Last updated: 2021-06-11 16:17:07
    Note:

    If your function was created before January 29, 2021 and has not been migrated, but you need to use more log analysis features, please see Log Delivery Configuration (Legacy) to deliver function invocation logs to Cloud Log Service (CLS).

    SCF was fully connected to Tencent Cloud CLS starting from January 29, 2021. After then, the invocation logs of newly created functions will be delivered to CLS, and logs can be output in real time. The existing functions are gradually migrated by regions. For more information, please see SCF Log Service Change Notification.

    This document describes the two log delivery methods of default delivery and custom delivery provided by SCF and how to configure them.

    Permission Description

    To view the logs normally, please ensure that the sub-account at least has the read-only permission of CLS QcloudCLSReadOnlyAccess. For how the root account grant permissions for the sub-account, see Authorization Management.

    Use Limits

    Delivering function invocation logs to CLS has the following limits:

    • The maximum amount of logs printed within 5 seconds for each request is 1 MB.
    • The maximum number of logs printed within 5 seconds for each request is 5000.
    • The maximum length of each log is 8 KB, and excessive parts will be discarded.

    Please pay attention to whether the CLS configuration can meet your business needs. Exceeding the limits may cause log write failures.

    Directions

    Default delivery

    When creating a function, if you don't specify the destination topic for log delivery, the default log delivery capability will be used. For default log delivery, SCF will activate the CLS service for you and deliver the function invocation logs to the log topic under the SCF-specific logset. The SCF-specific logset and log topic are prefixed with SCF_logset and SCF_logtopic respectively, and will be created automatically if they do not exist. Function invocation logs will be retained for 7 days by default, and you can view and manage them on the CLS console.

    Note:

    CLS is billed separately, and the SCF-specific log topic will consume the free tier of CLS. For more information, please see CLS Billing Overview.

    Configuring CLS

    1. Log in to the SCF console and select Function Service on the left sidebar.
    2. Choose a region at the top of the Function Service page and click Create to start creating a function.
    3. Select Template or Custom to create a function. This document takes Custom as an example.
    4. In Advanced Configuration, select Default publishing in Log Configuration as shown below:
    5. Click Complete. You can view the log configuration in Function Management > Function Configuration as shown below:

    Viewing and managing logs

    You can click the logset ID in Log Configuration in Function Configuration to enter the CLS console to view and manage logs. The SCF-specific logset is marked with the word SCF in the CLS console. If you need to persistently store, deliver, or consume logs or monitor and set alarms on log content, you can complete the configuration in the CLS console.

    Custom delivery

    When creating a function, if you need to specify the destination log topic to deliver function invocation logs, you can use the custom log delivery capability. Before using this capability, you should make sure that the CLS service has been activated.

    Creating logset and log topic

    Log in to the CLS console and create a logset and log topic. This document uses the creation of the SCF-test logset and log topic in Guangzhou as an example, as shown below:

    Note:

    For the logset region, please select the region where the SCF service is located. Cross-region log push is not supported currently.

    Configuring CLS

    1. Log in to the SCF console and select Function Service on the left sidebar.
    2. Choose a region at the top of the Function Service page and click Create to start creating a function.
    3. Select Template or Custom to create a function. This document takes Custom as an example.
    4. In Advanced Configuration, select Custom publishing in Log Configuration, and select the logset and log topic already created for this function. This document uses SCF-test as an example, as shown below:
    5. Click Complete.

    Configuring index

    Log search depends on the index configuration of the log topic. SCF will automatically complete the index configuration when you create a function. If the index is exceptional and logs cannot be viewed properly, please configure the index in the following steps:

    1. Log in to the SCF console and select Function Service on the left sidebar.
    2. On the Function Service list page, select the name of the function whose index is exceptional to enter the Function Management page.
    3. On the Log Query tab, select Index Configuration in Advanced Retrieval as shown below:
    4. On the Index Configuration page, enable Index Status and Key-Value Index and select Auto Configure as shown below:
    5. After configuring the index, click OK.

    The configuration method in step 4 is only valid for scenarios where there are function invocation logs in the log topic; otherwise, please manually configure the key-value index by referring to the table below.

    Field Name Field Type Description
    SCF_FunctionName text Function name
    SCF_Namespace text Function namespace
    SCF_StartTime long Invocation start time
    SCF_LogTime long Log generation time
    SCF_RequestId text Request ID
    SCF_Duration long Function execution duration
    SCF_Alias text Alias
    SCF_Qualifier text Version
    SCF_MemUsage double Function runtime memory
    SCF_Level text Log4J log level. Default value: INFO
    SCF_Message text Log content
    SCF_Type text Log type. Platform: platform log, Custom: user log
    SCF_StatusCode long Status code of function execution
    SCF_RetryNum long Number of retries

    To ensure the display effect of the logs in the SCF console, please toggle on Enable Statistics for the field in the key-value index configuration as shown below: