使用 .NET 日志记录框架或调用 API

您可以通过多种方式从 .NET 应用使用 Cloud Logging:

使用适用于 .NET 的标准日志记录框架的 Google Logging 提供程序

您可以使用 .NET 版 Google.Cloud.Diagnostics 库为 .NET 应用启用 Cloud Logging。

使用 Google Log4Net 提供程序

Google.Cloud.Logging.Log4Net 库可实现 Cloud Logging 的 Log4Net 提供程序。如需查看展示如何配置和使用此库的示例,请参阅 Google.Cloud.Logging.Log4Net 文档

使用 Google.Cloud.Logging.V2 直接调用 Logging API

您还可以使用 Google.Cloud.Logging.V2 客户端库通过调用 Cloud Logging API 来写入日志。您可以从 [NuGet][lib-nuget] 安装此库。

安装 Google.Cloud.Logging.V2 后,您可以在应用代码中添加以下语句,以便开始将应用的日志发送到 Cloud Logging:

using Google.Cloud.Logging.V2;
using Google.Cloud.Logging.Type;
using Google.Cloud.Api;

自定义以下方法并将其添加到应用代码中:

private void WriteLogEntry(string logId)
{
    var client = LoggingServiceV2Client.Create();
    LogName logName = new LogName(s_projectId, logId);
    var jsonPayload = new Struct()
    {
        Fields =
        {
            { "name", Value.ForString("King Arthur") },
            { "quest", Value.ForString("Find the Holy Grail") },
            { "favorite_color", Value.ForString("Blue") }
        }
    };
    LogEntry logEntry = new LogEntry
    {
        LogNameAsLogName = logName,
        Severity = LogSeverity.Info,
        JsonPayload = jsonPayload
    };
    MonitoredResource resource = new MonitoredResource { Type = "global" };
    IDictionary<string, string> entryLabels = new Dictionary<string, string>
    {
        { "size", "large" },
        { "color", "blue" }
    };
    client.WriteLogEntries(logName, resource, entryLabels,
        new[] { logEntry }, _retryAWhile);
    Console.WriteLine($"Created log entry in log-id: {logId}.");
}

写入一些可调用 WriteLogEntry() 的日志记录代码。生成的日志条目将显示在日志浏览器中的全局资源下。

在 Google Cloud 控制台的导航面板中,选择 Logging,然后选择 Logs Explorer

前往 Logs Explorer

资源