Elastic.NLog.Targets 8.11.1
前缀已保留
dotnet add package Elastic.NLog.Targets --version 8.11.1
NuGet\Install-Package Elastic.NLog.Targets -Version 8.11.1
本命令是用于 Visual Studio 的包管理器控制台中的命令,因为它使用 NuGet 模块版本的 Install-Package.
<PackageReference Include="Elastic.NLog.Targets" Version="8.11.1" />
对于支持 包引用 的项目,将此 XML 节点复制到项目文件中以引用程序包。
paket add Elastic.NLog.Targets --version 8.11.1
NuGet 团队不提供对客户端的支持。请联系其维护者以获取支持。
#r "nuget: Elastic.NLog.Targets, 8.11.1"
#r 指令可用于 F# Interactive 和 Polyglot Notebooks。将其复制到交互工具或脚本的源代码中以引用包。
// Install Elastic.NLog.Targets as a Cake Addin #addin nuget:?package=Elastic.NLog.Targets&version=8.11.1 // Install Elastic.NLog.Targets as a Cake Tool #tool nuget:?package=Elastic.NLog.Targets&version=8.11.1
NuGet 团队不提供对客户端的支持。请联系其维护者以获取支持。
Elastic.NLog.Targets
一个直接写入 Elasticsearch 或 Elastic Cloud 的 NLog 目标
包
将 .NET 程序集作为包名 Elastic.NLog.Targets 发布到 NuGet
如何从 API 使用
var config = new LoggingConfiguration();
var elasticTarget = new ElasticsearchTarget("elastic") { Layout = new EcsLayout(), NodesUri = "http://localhost:9200" };
config.AddRule(LogLevel.Debug, LogLevel.Fatal, elasticTarget);
LogManager.Configuration = config;
var logger = LogManager.GetCurrentClassLogger();
如何从 NLog.config 使用
<nlog>
<extensions>
<add assembly="Elastic.Apm.NLog"/>
<add assembly="Elastic.CommonSchema.NLog"/>
<add assembly="Elastic.NLog.Targets"/>
</extensions>
<targets>
<target name="elastic" type="ElasticSearch" nodeUris="http://localhost:9200">
<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="elastic" />
</rules>
</nlog>
ElasticsearchTarget 参数选项
导出目的地
- NodePoolType - 连接池类型
- SingleNode - 单节点或端点池
- Sniffing - 支持 Re-seeding 的池
- Static - 不支持 Re-seeding 的池
- Sticky - 不支持 Re-seeding 并保留在第一个节点上。
- StickySniffing - 支持 Re-seeding 并保留在第一个节点上。
- Cloud - 使用 CloudId 来初始化的池
- NodeUris - 连接池中 Elasticsearch 节点的 URI(以逗号分隔)
- CloudId - 当使用 NodePoolType = Cloud 时
- NodePoolType - 连接池类型
导出身份验证
- ApiKey - 当使用 NodePoolType = Cloud 并通过 API 键进行身份验证时
- 用户名 - 当通过用户名/密码进行基本身份验证时。
- 密码 - 当通过用户名/密码进行基本身份验证时。
导出缓冲区
- InboundBufferMaxSize - 内存中可以排队等待的最大正在运行的实例数。默认值 = 100000
- OutboundBufferMaxSize - 导出的最大尺寸。默认值 = 1000
- OutboundBufferMaxLifetimeSeconds - 可以导出的缓冲区的最大寿命(秒)。默认值 = 5秒
- ExportMaxConcurrency - 允许在频道上轮询新事件的消费者最大数量。默认值 = 1
- ExportMaxRetries - 重试导出的最大次数。默认值 = 3
导出数据流
- DataStreamType - 描述数据的通用类型。默认值 = 'logs'
- DataStreamSet - 描述摄取的数据及其结构。默认值 = 'dotnet'
- DataStreamNamespace - 用户可配置的任意分组。默认值 = 'default'
请注意,导出依赖于内存队列,该队列在应用程序崩溃/退出的情况下会丢失。如果需要更高的交付担保,请考虑使用Elastic.CommonSchema.NLog与NLog FileTarget结合使用,并使用filebeat来发送这些日志。
查看Elastic Agent & Fleet以简化边缘上收集日志和指标。
Elasticsearch目标布局配置
NLog布局允许从环境配置NLog目标选项。
从appsettings.json中查找NodeUris
<target name="elastic" type="ElasticSearch" nodeUris="${configsetting:ConnectionStrings.ElasticSearch}">
.NET Core上的appsettings.json示例
{
"ConnectionStrings": {
"ElasticSearch": "http://localhost:9200"
}
}
从app.config中查找NodeUris
<target name="elastic" type="ElasticSearch" nodeUris="${appsetting:ConnectionStrings.ElasticSearch}">
.NET Framework上的app.config示例
<configuration>
<connectionStrings>
<add name="ElasticSearch" connectionString="http://localhost:9200"/>
</connectionStrings>
</configuration>
从环境变量中查找ConnectionString
<target name="elastic" type="ElasticSearch" nodeUris="${environment:ELASTIC_SERVER_URL}">
产品 | 版本 兼容的和额外的计算目标框架版本。 |
---|---|
.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 已计算。 |
-
.NETStandard 2.0
- Elastic.CommonSchema.NLog (>= 8.11.1)
- Elastic.Ingest.Elasticsearch.CommonSchema (>= 8.11.1)
NuGet 包
此包不被任何 NuGet 包使用。
GitHub 仓库
此包不被任何流行的 GitHub 仓库使用。
版本 | 下载 | 最后更新 |
---|---|---|
8.11.1 | 240 | 6/10/2024 |