全部产品
Search
文档中心

Function Compute:Manajemen Log

更新时间:Jul 02, 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. Anda juga dapat menggunakan pustaka logging lainnya untuk mencetak log.

Catatan

Disarankan untuk menggunakan metode context.Logger untuk mencetak log karena log tersebut mencakup ID permintaan, yang membantu dalam menyelesaikan masalah kesalahan.

Gunakan context.Logger untuk mencetak log

Jika Anda menggunakan metode ini untuk mencetak log, setiap 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){}
    }
}

Log berikut akan dicetak setelah Anda menjalankan kode sampel di atas:

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 ingin dicetak. Tabel berikut mencantumkan tingkat log dalam urutan penurunan tingkat keparahan.

Tingkat Log

Tingkat

Operasi API

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 di atasnya.
            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 di atasnya.
            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 di atasnya.
            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){}
    }
}

Log berikut akan dicetak setelah Anda menjalankan kode di atas:

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.