小编Aar*_*ver的帖子

Serilog - 输出/使用从中调用日志条目的MethodName的所有消息

无论如何,使用方法名称来丰富所有Seri​​log输出.

对于实例,请考虑如果我有以下内容;

Public Class MyClassName

  Private Function MyFunctionName() As Boolean
      Logger.Information("Hello World")
      Return True
  End Function

End Class
Run Code Online (Sandbox Code Playgroud)

期望的输出如下;

2015-04-06 18:41:35.361 +10:00 [Information] [MyFunctionName] Hello World!
Run Code Online (Sandbox Code Playgroud)

实际上,完全合格的名字会很好.

2015-04-06 18:41:35.361 +10:00 [Information] [MyClassName.MyFunctionName] Hello World!
Run Code Online (Sandbox Code Playgroud)

似乎"Enrichers"仅对静态信息有用,并且每次都不起作用.

vb.net serilog

9
推荐指数
3
解决办法
8208
查看次数

SendGrid v3 API - 使用带有空/无内容的模板发送邮件

我正在尝试使用 SendGrid v3 发送电子邮件。

我正在使用官方的 csharp nuget 包:https : //github.com/sendgrid/sendgrid-csharp/

我希望使用一个事务模板,其中定义了一系列替换标签。简单的替换值,如-firstname-等。

我定义的事务模板基本上已经定义了所有必需的信息/内容/正文。我只希望使用此模板并将替换标签替换为Personalization.SubstututionTags我在有效负载中定义的 。

该文档建议我必须发送content有效负载 - 事实上,如果我发送没有任何“内容”的电子邮件,我将收到400错误状态代码

https://sendgrid.com/docs/API_Reference/Web_API_v3/Mail/errors.html#-Content-Errors

内容参数是必需的。您不能在没有内容参数的情况下发送电子邮件。这是为了防止您向收件人发送空电子邮件。

content如果我只想使用模板中的内容,我应该在其中包含什么?

如果我包含一些任意内容,例如

      'content': [
        {
          'type': 'text/html',
          'value': 'I\'m replacing the <strong>body tag</strong>'
        }
      ],
Run Code Online (Sandbox Code Playgroud)

它不会用那个覆盖模板中的内容吗?

提前致谢!

.net c# sendgrid

5
推荐指数
1
解决办法
2178
查看次数

在 .NET 控制台客户端应用程序中使用 ASP.NET Core SignalR 从 Azure SignalR 接收消息

我正在学习 SignalR 但遇到了障碍。

我有一个 Azure 函数,已成功发布到 Azure SignalR 托管服务(在无服务器模式下配置)

我一直在关注这个快速入门:

快速入门:使用 C# 通过 Azure Functions 和 SignalR 服务创建聊天室

我想要实现的基本上是将来自服务器的消息接收到我的客户端应用程序中。为了原型化,我创建了一个控制台应用程序。

我添加了以下 Nuget 包

Microsoft.AspNetCore.SignalR.Client -版本 1.1.0 Microsoft.Azure.WebJobs.Extensions.SignalRService

所有基础设施似乎都工作正常 - 我的假设是我可以在以下地址运行演示网站,将其指向我的本地实例(或托管在 Azure 中的实例) https://azure- samples.github.io/signalr-service-quickstart-serverless-chat/demo/chat-v2/

我的 AzureFunction 发布的消息直接发布到聊天窗口中。

如何将这些消息打印到控制台?

using Microsoft.AspNetCore.SignalR.Client;
using Microsoft.Azure.WebJobs.Extensions.SignalRService;
using System;
using System.Threading.Tasks;

namespace ConsoleApp2
{
    class Program
    {
        static async Task Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            Console.ReadKey();

            var connection = new HubConnectionBuilder().WithUrl("http://localhost:7071/api").Build();


            connection.On<SignalRMessage>("newMessage", (message) =>
            {
                Console.WriteLine(message.Arguments);
            });


            connection.On("newMessage", (string server, string message) =>
            {
                Console.WriteLine($"Message from …
Run Code Online (Sandbox Code Playgroud)

c# azure signalr.client asp.net-core-signalr azure-signalr

5
推荐指数
1
解决办法
4906
查看次数

Serilog - 如何自定义格式化文件接收器的解构类对象的输出

我正在使用 Serilog 登录到两个“接收器”。

  1. 滚动文本文件
  2. 序列

我想记录一个复杂类型 - FileInfo 对象。

在 Seq 中,我想要完整的对象,以及它的所有属性可供我使用。

但是,在 RollingTextFile 中,我只希望在文本文件中打印“ fileInfo.FullName ”,否则文本文件会很乱且难以阅读。

我的日志记录如下;

logger.Information("Processing File: {@fileInfo}  - Attempt ({intAttemptCounter}/3).",fileInfo, intAttemptCounter)
Run Code Online (Sandbox Code Playgroud)

这在文件信息对象解构的情况下按预期工作,但如上所述,会产生混乱且不可读的文本文件。

我想我需要使用这里概述的自定义“格式提供程序”;https://github.com/serilog/serilog/wiki/Formatting-Output#format-providers

但我无法弄清楚如何为 fileInfo 类对象实现这一点并将其仅应用于 RollingTextFile 接收器。我也找不到任何其他示例实现。

logging serilog

3
推荐指数
1
解决办法
1883
查看次数

VS2013构建定义'Microsoft.TeamFoundation.Client.BasicAuthCredential'未标记为可序列化

一些背景资料.我在用;

  • Visual Studio 2013
  • 使用Visual Studio Online(VSO)和GIT
  • 托管构建控制器.

每次我去编辑构建定义时,Visual Studio都会抛出错误,如下图所示.

团队基础错误

在程序集"Microsoft.TeamFoundation.Client,Version = 12.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a"中键入"Microsoft.TeamFoundation.Client.BasicAuthCredential"未标记为可序列化

有关Visual Studio中显示的错误的屏幕截图,请单击此链接; 团队基础错误

链接到错误的屏幕截图

tfs serializable build-definition visual-studio-2013 azure-devops

2
推荐指数
1
解决办法
1247
查看次数

Serilog - 可以在RollingFile接收器中更改DateTime/Timestamp格式

RollingFile接收器的当前输出日期时间如下

2015-04-06 18:40:54.400 +10:00 [Information] Hello World!
Run Code Online (Sandbox Code Playgroud)

无论如何要删除TimeZone偏移量?+10:00.实现以下输出;

2015-04-06 18:40:54.400 [Information] Hello World!
Run Code Online (Sandbox Code Playgroud)

在我的情况下,时区偏移是多余的绒毛,这只是混乱我的文本日志.

serilog rollingfilesink

2
推荐指数
1
解决办法
3474
查看次数