使用 .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 控制台中,转到日志浏览器页面:

前往 Logs Explorer

如果您使用搜索栏查找此页面,请选择子标题为日志记录的结果。

资源