【问题标题】:How to enable logging for gRPC in .NET Core 3.0如何在 .NET Core 3.0 中为 gRPC 启用日志记录
【发布时间】:2019-08-24 21:12:52
【问题描述】:

我有一个使用带有协议缓冲区的 gRPC (0.1.22) 的 ASP.NET Core 3.0 (3.0.0-preview8-28405-07) 服务器应用程序。我想启用对文件或控制台的日志记录。

以下是 .Startup 文件的示例:

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddGrpc(options =>
        {
            options.EnableDetailedErrors = true;
        });
    }

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        app.UseRouting();

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapGrpcService<GreeterService>();
        });
    }
}

还有 GreeterService:

public class GreeterService : Greeter.GreeterBase
{
    public override Task<HelloReply> SayHello(HelloRequest request, ServerCallContext context)
    {
        return Task.FromResult(new HelloReply
        {
            Message = "Hello " + request.Name
        });
    }
}

gRPC 有一个名为 Grpc.Core.Logging.ILogger 的日志记录类。如何设置它以便记录到文件或控制台?

【问题讨论】:

    标签: c# asp.net-core grpc .net-core-3.0 asp.net-core-3.0


    【解决方案1】:

    在 ASP.NET Core 3 中使用 GRPC 进行日志记录的处理方式与任何其他 ASP.NET app 相同。

    您可以通过运行启用日志记录

    hostBuilder.ConfigureLogging(logging =>
            {
                logging.AddConsole();
            })
    

    在您的 program.cs 入口点文件中或通过运行

    serviceCollection.AddLogging(logging =>
                {
                    logging.AddConsole();
                });
    

    在startup.cs 中的ConfigureServices 方法中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-02
      相关资源
      最近更新 更多