Elastic.CommonSchema.NLog 8.11.1
前缀已保留
.NET Standard 2.0 This package targets .NET Standard 2.0. The package is compatible with this framework or higher. .NET Framework 4.6.1 This package targets .NET Framework 4.6.1. The package is compatible with this framework or higher.
dotnet add package Elastic.CommonSchema.NLog --version 8.11.1
NuGet\Install-Package Elastic.CommonSchema.NLog -Version 8.11.1
该命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块的 Install-Package 版本。
<PackageReference Include="Elastic.CommonSchema.NLog" Version="8.11.1" />
对于支持 包引用 的项目,将此 XML 节复制到项目文件中以引用程序包。
paket add Elastic.CommonSchema.NLog --version 8.11.1
NuGet 团队不提供对此客户端的支持。请联系其 维护者 以获取支持。
#r "nuget: Elastic.CommonSchema.NLog, 8.11.1"
#r 指令可以在 F# Interactive 和 Polyglot Notebooks 中使用。将其复制到交互式工具或脚本的源代码中来引用程序包。
// Install Elastic.CommonSchema.NLog as a Cake Addin #addin nuget:?package=Elastic.CommonSchema.NLog&version=8.11.1 // Install Elastic.CommonSchema.NLog as a Cake Tool #tool nuget:?package=Elastic.CommonSchema.NLog&version=8.11.1
NuGet 团队不提供对此客户端的支持。请联系其 维护者 以获取支持。
Elastic Common Schema NLog 布局
此布局实现将 NLog 事件格式化为符合 Elastic Common Schema 规范的 JSON 表示形式。
包
.NET 程序集以包名 "Elastic.CommonSchema.NLog" 发布到 NuGet。
从 API 使用方法
Layout.Register<EcsLayout>("EcsLayout"); // Register the ECS layout.
var config = new LoggingConfiguration();
var consoleTarget = new ConsoleTarget("console") { Layout = new EcsLayout() }; // Use the ECS layout.
config.AddRule(LogLevel.Debug, LogLevel.Fatal, consoleTarget);
LogManager.Configuration = config;
var logger = LogManager.GetCurrentClassLogger();
在上面的代码片段中,Layout.Register<EcsLayout>("EcsLayout")
将 EcsLayout
注册到 NLog。然后,Layout = new EcsLayout()
行指示 NLog 使用已注册的布局。上面的示例使用控制台目标,但您可以使用任何您喜欢的目标,例如考虑使用文件系统目标并在 Elastic Filebeat 中使用它以实现持久和可靠的数据摄入。
从 NLog.config 使用方法
<nlog>
<extensions>
<add assembly="Elastic.Apm.NLog"/>
<add assembly="Elastic.CommonSchema.NLog"/>
</extensions>
<targets>
<target name="console" type="console">
<layout xsi:type="EcsLayout">
<metadata name="MyProperty" layout="MyPropertyValue" />
<label name="MyLabel" layout="MyLabelValue" />
<tag layout="MyTagValue" />
</layout>
</target>
</targets>
<rules>
<logger name="*" minLevel="Debug" writeTo="Console" />
</rules>
</nlog>
EcsLayout 参数选项
元数据选项
- IncludeEventProperties - 将日志事件属性包含为元数据。默认:
true
- IncludeScopeProperties - 将 NLog 范围上下文属性包含为元数据。默认:
false
- ExcludeProperties - 要排除的属性名称的逗号分隔字符串。
- IncludeEventProperties - 将日志事件属性包含为元数据。默认:
事件选项
- EventAction -
- EventCategory -
- EventId -
- EventKind -
- EventSeverity -
代理选项
- AgentId -
- AgentName -
- AgentType -
- AgentVersion -
进程选项
- ProcessExecutable - 默认:
${processname:FullName=true}
- ProcessId - 默认:
${processid}
- ProcessName - 默认:
${processname:FullName=false}
- ProcessTitle - 默认:
${processinfo:MainWindowTitle}
- ProcessThreadId - 默认:
${threadid}
- ProcessThreadName -
- ProcessExecutable - 默认:
服务器选项
- ServerAddress -
- ServerIp -
- ServerUser - 默认:
${environment-user}
主机选项
- HostId -
- HostIp - 默认:
${local-ip:cachedSeconds=60}
- HostName - 默认:
${machinename}
日志源选项
- LogOriginCallSiteMethod - 默认:
${exception:format=method}
- LogOriginCallSiteFile - 默认:
${exception:format=source}
- LogOriginCallSiteLine -
- LogOriginCallSiteMethod - 默认:
HTTP 选项
- HttpRequestId - 默认:
${aspnet-trace-identifier}
- HttpRequestMethod - 默认:
${aspnet-request-method}
- HttpRequestBytes - 默认:
${aspnet-request-contentlength}
- HttpRequestReferrer - 默认:
${aspnet-request-referrer}
- HttpResponseStatusCode - 默认:
${aspnet-response-statuscode}
- HttpRequestId - 默认:
URL 选项
- UrlScheme - 默认:
${aspnet-request-url:IncludeScheme=true:IncludeHost=false:IncludePath=false}
- UrlDomain - 默认:
${aspnet-request-url:IncludeScheme=false:IncludeHost=true:IncludePath=false}
- UrlPath - 默认:
${aspnet-request-url:IncludeScheme=false:IncludeHost=false:IncludePath=true}
- UrlPort - 默认:
${aspnet-request-url:IncludeScheme=false:IncludeHost=false:IncludePath=false:IncludePort=true}
- UrlQuery - 默认:
${aspnet-request-url:IncludeScheme=false:IncludeHost=false:IncludePath=false:IncludeQueryString=true}
- UrlUserName - 默认:
${aspnet-user-identity}
- UrlScheme - 默认:
跟踪选项
- ApmTraceId - 默认:
${ElasticApmTraceId}
- ApmTraceId - 默认:
事务选项
- ApmTransactionId - 默认:
${ElasticApmTransactionId}
- ApmTransactionId - 默认:
ECS 意识消息模板
此外,任何在 LogTemplateProperties.*
下可用的有效 ECS 日志模板属性,例如 LogTemplateProperties.TraceId
,都受到支持,并将直接设置适当的 ECS 字段。
logger.Info("The time is {TraceId}", "my-trace-id");
将覆盖结果 ECS json 文档上的 trace.id
。
EcsLayout 的示例输出
以下是一个输出示例
{
"@timestamp": "2020-02-20T16:07:06.7109766+11:00",
"log.level": "Info",
"message": "Info \"X\" 2.2",
"ecs.version": "8.6.0",
"log": {
"logger": "Elastic.CommonSchema.NLog.Tests.LogTestsBase"
},
"labels": {
"ValueX": "X"
},
"agent": {
"type": "Elastic.CommonSchema.NLog",
"version": "1.6.0"
},
"event": {
"created": "2020-02-20T16:07:06.7109766+11:00",
"severity": 6,
"timezone": "Romance Standard Time"
},
"host": {
"ip": [ "127.0.0.1" ],
"name": "LOCALHOST"
},
"process": {
"executable": "C:\\Program Files\\dotnet\\dotnet.exe",
"name": "dotnet",
"pid": 17592,
"thread.id": 17592,
"title": "15.0.0.0"
},
"server": { "user": { "name": "MyUser" } },
"service": {
"name": "Elastic.CommonSchema",
"type": "dotnet",
"version": "1.6.0"
},
"metadata": {
"SomeY": 2.2
},
"MessageTemplate": "Info {ValueX} {SomeY} {NotX}"
}
版权和许可
本软件版权(c)2014-2020归Elasticsearch BV所有。
这是一款免费软件,许可协议:Apache License 版本 2.0。
产品 | 版本 兼容和额外的计算目标框架版本。 |
---|---|
.NET | net5.0 已计算。 net5.0-windows 已计算。 net6.0 已计算。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 已计算。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 已计算。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。 |
.NET Core | netcoreapp2.0 已计算。 netcoreapp2.1 已计算。 netcoreapp2.2 已计算。 netcoreapp3.0 已计算。 netcoreapp3.1 已计算。 |
.NET Standard | netstandard2.0 兼容。 netstandard2.1 兼容。 |
.NET Framework | net461兼容。 net462已计算。 net463已计算。 net47已计算。 net471已计算。 net472已计算。 net48已计算。 net481已计算。 |
MonoAndroid | monoandroid已计算。 |
MonoMac | monomac已计算。 |
MonoTouch | monotouch已计算。 |
Tizen | tizen40已计算。 tizen60已计算。 |
Xamarin.iOS | xamarinios已计算。 |
Xamarin.Mac | xamarinmac已计算。 |
Xamarin.TVOS | xamarintvos已计算。 |
Xamarin.WatchOS | xamarinwatchos已计算。 |
-
.NETFramework 4.6.1
- Elastic.CommonSchema (>= 8.11.1)
- NLog (>= 4.7.15)
-
.NETStandard 2.0
- Elastic.CommonSchema (>= 8.11.1)
- NLog (>= 4.7.15)
-
.NETStandard 2.1
- Elastic.CommonSchema (>= 8.11.1)
- NLog (>= 4.7.15)
NuGet包 (1)
显示依赖Elastic.CommonSchema.NLog的顶部1个NuGet包
包 | 下载 |
---|---|
Elastic.NLog.Targets NLog目标,可直接导出到Elastic Cloud或单个Elasticsearch节点 |
GitHub仓库
此包未用于任何流行GitHub仓库。
版本 | 下载 | 最后更新 |
---|---|---|
8.11.1 | 22,579 | 6/10/2024 |
8.11.0 | 15,259 | 4/10/2024 |
8.6.1 | 218,115 | 8/3/2023 |
8.6.0 | 44,064 | 5/9/2023 |
8.4.0-alpha4 | 2,073 | 3/28/2023 |
8.4.0-alpha3 | 610 | 3/15/2023 |
8.4.0-alpha2 | 627 | 3/1/2023 |
8.4.0-alpha1 | 618 | 2/20/2023 |
1.6.0-alpha1 | 142,076 | 6/2/2021 |
1.5.3 | 385,018 | 6/1/2021 |
1.5.1 | 18,044 | 6/3/2020 |
1.5.0 | 1,464 | 3/30/2020 |
1.4.4 | 1,009 | 3/25/2020 |
1.4.3 | 1,079 | 3/16/2020 |
1.4.2 | 996 | 3/6/2020 |
1.4.1 | 2,215 | 2/26/2020 |