全部产品
Search
文档中心

Function Compute:Manajemen Log

更新时间:Jun 24, 2025

Topik ini menjelaskan cara mencetak dan melihat log dalam lingkungan runtime .NET.

Mencetak log

Log yang dicetak ke output standar (stdout) atau kesalahan standar (stderr) oleh suatu fungsi dikumpulkan ke Layanan Log Sederhana Logstore yang Anda tentukan saat membuat layanan. Anda dapat menggunakan metode context.Logger yang disediakan oleh pustaka fc-dotnet-lib untuk mencetak log. Alternatifnya, Anda juga dapat menggunakan pustaka logging lainnya.

null

Disarankan untuk menggunakan metode context.Logger untuk mencetak log. Log yang dihasilkan dengan metode ini mencakup ID permintaan, yang memudahkan pencarian log dan pemecahan masalah kesalahan.

Gunakan metode context.Logger untuk mencetak log

Jika Anda menggunakan metode ini untuk mencetak log, setiap entri log mencakup informasi seperti waktu, ID permintaan, dan tingkat log. Berikut adalah contoh kode:

using System.IO;
using System.Threading.Tasks;
using Aliyun.Serverless.Core;
using Microsoft.Extensions.Logging;

namespace Example
{
    public class Hello
    {
        public async Task<Stream> StreamHandler(Stream input, IFcContext context)
        {
            IFcLogger logger = context.Logger;
            logger.LogInformation("Menangani permintaan: {0}", context.RequestId);
            logger.LogInformation(string.Format("detail = {0} ", "halo dunia"));
            MemoryStream copy = new MemoryStream();
            await input.CopyToAsync(copy);
            copy.Seek(0, SeekOrigin.Begin);
            return copy;
        }

        static void Main(string[] args){}
    }
}

Setelah menjalankan kode sampel di atas, konten berikut akan dicetak:

2022-10-09T07:20:31.024Z 9666a77e-65e7-42a9-b011-************ [INFO] detail = halo dunia

Mengubah tingkat log

Anda dapat mengubah properti EnabledLogLevel dari logger untuk menyesuaikan tingkat log yang akan dicetak. Tabel berikut mencantumkan tingkat log berdasarkan urutan penurunan tingkat keparahan.

Tingkat log

Tingkat keparahan

Operasi

Critical

5

context.Logger.LogCritical

Error

4

context.Logger.LogError

Warning

3

context.Logger.LogWarning

Information

2

context.Logger.LogInformation

Debug

1

context.Logger.LogDebug

Trace

0

context.Logger.LogTrace

Untuk informasi lebih lanjut tentang tingkat log, lihat LogLevel Enum.

Berikut adalah contoh kode:

using System.IO;
using System.Threading.Tasks;
using Aliyun.Serverless.Core;
using Microsoft.Extensions.Logging;

namespace Example
{
    public class Hello
    {
        public async Task<Stream> StreamHandler(Stream input, IFcContext context)
        {
            IFcLogger logger = context.Logger;

            // Mencetak log tingkat Error dan yang lebih tinggi.
            logger.EnabledLogLevel = LogLevel.Error;
            logger.LogError("kesalahan konsol 1");
            logger.LogInformation("info konsol 1");
            logger.LogWarning("peringatan konsol 1");
            logger.LogDebug("debug konsol 1");

            // Mencetak log tingkat Warning dan yang lebih tinggi.
            logger.EnabledLogLevel = LogLevel.Warning;
            logger.LogError("kesalahan konsol 2");
            logger.LogInformation("info konsol 2");
            logger.LogWarning("peringatan konsol 2");
            logger.LogDebug("debug konsol 2");

            // Mencetak log tingkat Information dan yang lebih tinggi.
            logger.EnabledLogLevel = LogLevel.Information;
            logger.LogInformation("Menangani permintaan: {0}", context.RequestId);

            MemoryStream copy = new MemoryStream();
            await input.CopyToAsync(copy);
            copy.Seek(0, SeekOrigin.Begin);
            return copy;
        }

        static void Main(string[] args){}
    }
}

Setelah menjalankan kode di atas, konten berikut akan dicetak:

2022-10-09T07:31:42.644Z 77b8ed17-6760-4877-8a43-b79189****** [ERROR] kesalahan konsol 1
2022-10-09T07:31:42.644Z 77b8ed17-6760-4877-8a43-b79189****** [ERROR] kesalahan konsol 2
2022-10-09T07:31:42.644Z 77b8ed17-6760-4877-8a43-b79189****** [WARNING] peringatan konsol 2
2022-10-09T07:31:42.644Z 77b8ed17-6760-4877-8a43-b79189****** [INFO] Menangani permintaan: 77b8ed17-6760-4877-8a43-b79189******          

Melihat log

Setelah fungsi dieksekusi, Anda dapat melihat log pada tab Logs halaman Detail Fungsi. Untuk informasi lebih lanjut, lihat Melihat Log Pemanggilan Fungsi.