如何使用 serilog 通过身份验证在 kibana 中将日志设置为 ELK
How to set logs to ELK in kibana with authentication using serilog
我已经设置了我的代码示例,但我无法使用 serilog 通过身份验证登录 kibana。
在这里,我附上了我的代码,请更正它。
Log.Logger = new LoggerConfiguration()
.WriteTo.Elasticsearch(new ElasticsearchSinkOptions(new Uri("myurl:9200"))
{
IndexFormat = "ChargeMasterlog-{yyyy.MM.dd}",
ModifyConnectionSettings = x => x.BasicAuthentication("username", "password"),
}).CreateLogger();
Log.Information("Hello, Serilog!");
第 1 步:安装此 NuGet 包 "Serilog.Sinks.Elasticsearch"
第 2 步:将此添加到 App.config 或 Web.config
<appSettings>
<add key="elasticsearchURL" value="your_URL" />
<add key="elasticsearchuserName" value="your_Username" />
<add key="elasticsearchpassword" value="your_Password" />
<add key="elasticsearchIndex" value="indexname-{0:yyyy.MM.dd}" /> <!-- make sure index start with small letter -->
</appSettings>
第 3 步:将此添加到 main() 的 program.cs 或 Application_Start()
的 Global.asax
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.WriteTo.Elasticsearch(new ElasticsearchSinkOptions(new Uri(ConfigurationManager.AppSettings["elasticsearchURL"]))
{
AutoRegisterTemplate = true,
ModifyConnectionSettings = x => x.BasicAuthentication(ConfigurationManager.AppSettings["elasticsearchuserName"], ConfigurationManager.AppSettings["elasticsearchpassword"]),
IndexFormat = ConfigurationManager.AppSettings["elasticsearchIndex"]
})
.CreateLogger();
第 4 步:通过添加
在您想要的位置记录事件
using Serilog;
Log.Error("Your_Message", ex);
Log.CloseAndFlush();
如果你想与 log4net 一起使用,那么
第 1 步:安装此 NuGet 包 "log4net.Elasticsearch"
第 2 步:在 AssemblyInfo.cs
中添加此“[assembly: log4net.Config.XmlConfigurator(Watch = true)]”
第三步:在web.config
中添加这些东西
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.8.0" newVersion="2.5.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<log4net>
<appender name="ElasticSearchAppender" type="log4net.ElasticSearch.ElasticSearchAppender, log4net.ElasticSearch">
<connectionString value="Scheme=http;Server=your_IP;Index=index_name;Port=9200;User=your_Username;Pwd=your_Password;rolling=true;" /> <!-- make sure index start with small letter -->
</appender>
<root>
<level value="ALL" />
<appender-ref ref="ElasticSearchAppender" />
</root>
</log4net>
第 4 步:通过添加
在您想要的位置记录事件
using log4net;
private static readonly ILog _log = LogManager.GetLogger(typeof(your_mainpageclass));
_log.Error("your message ", ex);
_log.Logger.Repository.Shutdown();
我已经设置了我的代码示例,但我无法使用 serilog 通过身份验证登录 kibana。 在这里,我附上了我的代码,请更正它。
Log.Logger = new LoggerConfiguration()
.WriteTo.Elasticsearch(new ElasticsearchSinkOptions(new Uri("myurl:9200"))
{
IndexFormat = "ChargeMasterlog-{yyyy.MM.dd}",
ModifyConnectionSettings = x => x.BasicAuthentication("username", "password"),
}).CreateLogger();
Log.Information("Hello, Serilog!");
第 1 步:安装此 NuGet 包 "Serilog.Sinks.Elasticsearch"
第 2 步:将此添加到 App.config 或 Web.config
<appSettings>
<add key="elasticsearchURL" value="your_URL" />
<add key="elasticsearchuserName" value="your_Username" />
<add key="elasticsearchpassword" value="your_Password" />
<add key="elasticsearchIndex" value="indexname-{0:yyyy.MM.dd}" /> <!-- make sure index start with small letter -->
</appSettings>
第 3 步:将此添加到 main() 的 program.cs 或 Application_Start()
的 Global.asaxLog.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.WriteTo.Elasticsearch(new ElasticsearchSinkOptions(new Uri(ConfigurationManager.AppSettings["elasticsearchURL"]))
{
AutoRegisterTemplate = true,
ModifyConnectionSettings = x => x.BasicAuthentication(ConfigurationManager.AppSettings["elasticsearchuserName"], ConfigurationManager.AppSettings["elasticsearchpassword"]),
IndexFormat = ConfigurationManager.AppSettings["elasticsearchIndex"]
})
.CreateLogger();
第 4 步:通过添加
在您想要的位置记录事件 using Serilog;
Log.Error("Your_Message", ex);
Log.CloseAndFlush();
如果你想与 log4net 一起使用,那么
第 1 步:安装此 NuGet 包 "log4net.Elasticsearch"
第 2 步:在 AssemblyInfo.cs
中添加此“[assembly: log4net.Config.XmlConfigurator(Watch = true)]”第三步:在web.config
中添加这些东西<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.8.0" newVersion="2.5.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<log4net>
<appender name="ElasticSearchAppender" type="log4net.ElasticSearch.ElasticSearchAppender, log4net.ElasticSearch">
<connectionString value="Scheme=http;Server=your_IP;Index=index_name;Port=9200;User=your_Username;Pwd=your_Password;rolling=true;" /> <!-- make sure index start with small letter -->
</appender>
<root>
<level value="ALL" />
<appender-ref ref="ElasticSearchAppender" />
</root>
</log4net>
第 4 步:通过添加
在您想要的位置记录事件using log4net;
private static readonly ILog _log = LogManager.GetLogger(typeof(your_mainpageclass));
_log.Error("your message ", ex);
_log.Logger.Repository.Shutdown();