全部产品
Search
文档中心

Function Compute:Pengelolaan Log

更新时间:Jun 24, 2025

Topik ini menjelaskan cara mencetak log dalam lingkungan runtime Go.

Cetak log

Untuk mencetak log, Anda dapat menggunakan metode context.GetLogger(), metode dalam pustaka log atau fmt, atau metode lain yang menulis log ke stdout atau stderr.

Use the context.GetLogger() method to print logs

Jika Anda menggunakan metode ini untuk mencetak log, log yang dihasilkan mencakup informasi seperti tingkat log, ID permintaan, waktu, nama file, dan nomor baris. Contoh kode:

package main

import (
    "context"

    "github.com/aliyun/fc-runtime-go-sdk/fc"
    "github.com/aliyun/fc-runtime-go-sdk/fccontext"
)

func HandleRequest(ctx context.Context) (string, error) {
    fctx, _ := fccontext.FromContext(ctx)

    fctx.GetLogger().Debug("ini adalah log Debug")
    fctx.GetLogger().Debugf("Hai, %s\n", "ini adalah log Debugf")

    fctx.GetLogger().Info("ini adalah log Info")
    fctx.GetLogger().Infof("Hai, %s\n", "ini adalah log Infof")

    fctx.GetLogger().Warn("ini adalah log Warn")
    fctx.GetLogger().Warnf("Hai, %s\n", "ini adalah log Warnf")

    fctx.GetLogger().Error("ini adalah log Error")
    fctx.GetLogger().Errorf("Hai, %s\n", "ini adalah log Errorf")

    return "Halo dunia", nil
}

func main() {
    fc.Start(HandleRequest)
}

Log berikut dicetak:

FC Invoke Start RequestId: 1e9a87a5-fe0f-4904-a6f4-1d2728514129
2022-04-20T04:28:41.79Z d32c01bc-4397-4f52-a9ca-e374c28f96c1 [DEBUG] main.go:16: ini adalah log Debug
2022-04-20T04:28:41.79Z d32c01bc-4397-4f52-a9ca-e374c28f96c1 [DEBUG] main.go:17: Hai, ini adalah log Debugf
2022-04-20T04:28:41.79Z d32c01bc-4397-4f52-a9ca-e374c28f96c1 [INFO] main.go:19: ini adalah log Info
2022-04-20T04:28:41.79Z d32c01bc-4397-4f52-a9ca-e374c28f96c1 [INFO] main.go:20: Hai, ini adalah log Infof
2022-04-20T04:28:41.79Z d32c01bc-4397-4f52-a9ca-e374c28f96c1 [WARN] main.go:22: ini adalah log Warn
2022-04-20T04:28:41.79Z d32c01bc-4397-4f52-a9ca-e374c28f96c1 [WARN] main.go:23: Hai, ini adalah log Warnf
2022-04-20T04:28:41.791Z d32c01bc-4397-4f52-a9ca-e374c28f96c1 [ERROR] main.go:25: ini adalah log Error
2022-04-20T04:28:41.791Z d32c01bc-4397-4f52-a9ca-e374c28f96c1 [ERROR] main.go:26: Hai, ini adalah log Errorf
FC Invoke End RequestId: 1e9a87a5-fe0f-4904-a6f4-1d2728514129

Use the log library to print logs

Log yang dicetak dengan metode ini mencakup informasi tanggal dan waktu. Contoh kode:

package main

import (
    "log"

    "github.com/aliyun/fc-runtime-go-sdk/fc"
)

func HandleRequest() (string, error) {
    log.Println("halo dunia")
    return "halo dunia", nil
}

func main() {
    fc.Start(HandleRequest)
}

Log berikut dicetak:

FC Invoke Start RequestId: a15f8f85-9ed3-47c9-a61c-75678db61831
2022/02/17 04:29:02.228870 halo dunia
FC Invoke End RequestId: a15f8f85-9ed3-47c9-a61c-75678db61831

Execution summary

Runtime Go mencatat baris Mulai dan Akhir serta ringkasan eksekusi untuk setiap pemanggilan fungsi.

fc-go-execution-info

Tabel berikut menjelaskan parameter dalam ringkasan eksekusi.

ParameterDeskripsi
ID PermintaanID unik dari permintaan pemanggilan.
Nilai Periksa KodeKode verifikasi dari paket kode yang digunakan untuk memanggil fungsi.
Waktu Eksekusi FungsiWaktu yang sebenarnya dihabiskan oleh penanganan fungsi untuk berjalan.
Waktu Penagihan FungsiJumlah waktu di mana Anda dikenakan biaya untuk memanggil fungsi.
Memori FungsiJumlah memori yang dialokasikan untuk fungsi.
Memori Digunakan SebenarnyaJumlah maksimum memori yang sebenarnya digunakan oleh fungsi.