c# - Serilog 自定义库需要在分布式环境中捕获 RemoteIP 和 remoteUSer
问题描述
我已经使用 serilog 包创建了一个通用自定义库,这里的想法是所有应用程序都应该使用这个自定义库而不是直接使用 serilog,以便在一个地方发生变化,我想捕获远程 IP、远程用户 [authenticated] 和co-relationID,如何在自定义库中编码,下面是我的代码。
public class SerilogLogger: ISerilogLogger
{
public static void CreateInstance(IConfiguration config)
{
Log.Logger=new LoggerConfiguration()
.ReadFrom.Configuration(config)
.Enrich.WithEnvironmentUserName()
.Enrich.WithMachineName()
.CreateLogger();
}
}
应用程序从 appsettings.json 文件发送自定义配置
"Serilog": {
"MinimumLevel": {
"Default": "Information",
"Override": {
"Default": "Information",
"Microsoft": "Error",
"System": "Error"
}
},
"WriteTo": [
{
"Name": "File",
"Args": {
"path": "C:\\Users\\Documents\\Important\\log.json",
//"outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.ffff}|{TenantName}|{RequestId}|{SourceContext}|{Level:u3}|{Message:lj}{NewLine}{Exception}",
"rollOnFileSizeLimit": true,
"retainedFileCountLimit": 20,
"rollingInterval": "Day",
"restrictedToMinimumLevel": "Information",
"fileSizeLimitBytes": 1,
// "textformatter": "SerilogManager.Formatter.ElasticsearchJsonFormatter",
"formatter": "Serilog.Formatting.Json.JsonFormatter, Serilog"
}
}
]
}
}
解决方案
推荐阅读
- excel - 如果不满足条件,如何使用 SUMIF 生成空白
- google-developer-tools - 如何在没有 TFA 的情况下重新获得对 Google Developer 帐户的访问权限?
- css - 纯 CSS - 使用 mask-image 和 Radial-gradient 制作菱形形状
- excel - How to remove multiple characters in a string in excel
- c - Programming with C macros
- c# - How to get parameters from stored procedures in a textbox in C # occupying ODBC?
- c# - .NET Web API Blueimp multiple file upload error "Unexpected end of MIME multipart stream. MIME multipart message is not complete."
- python - Tkinter PhotoImage in function doesn't appear
- flutter - 我可以在 fastlane 中使用不同的颤振入口目标吗?
- google-apps-script - 缺少标识符为 tmplib 的库(可能它已被删除,或者您没有读取权限?)