无论如何,使用方法名称来丰富所有Serilog输出.
对于实例,请考虑如果我有以下内容;
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"仅对静态信息有用,并且每次都不起作用.
我正在尝试使用 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)
它不会用那个覆盖模板中的内容吗?
提前致谢!
我正在学习 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) 我正在使用 Serilog 登录到两个“接收器”。
我想记录一个复杂类型 - 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 接收器。我也找不到任何其他示例实现。
一些背景资料.我在用;
每次我去编辑构建定义时,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
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 ×3
c# ×2
.net ×1
azure ×1
azure-devops ×1
logging ×1
sendgrid ×1
serializable ×1
tfs ×1
vb.net ×1