Logstash sender for .NET
Send events to logstash instance via TCP
Saves all events into a sqlite database to prevent loss from network issues
Automatic synchronization when network connection is stablished
Nugget Package: https://www.nuget.org/packages/NetStash
PM > Install-Package NetStash
NetStashLog log = new NetStashLog("myhostname", 1233, "NSTest", "NSTestLog");
Dictionary<string, string> vals = new Dictionary<string, string>();
//Additional fields
vals.Add("customerid", "1235");
log.Error("Testing", vals);
Note: certificateValidation = null >> Certificate validation will be discarded
NetStashLog log = new NetStashLog("myhostname", 1233, "NSTest", "NSTestLog", SslProtocols.Tls12, certificates, "domain.certificate.com", null);
Dictionary<string, string> vals = new Dictionary<string, string>();
//Additional fields
vals.Add("customerid", "1235");
log.Error("Testing", vals);
input {
tcp {
port => 1233
host => "192.168.0.151"
codec => json
}
}
filter {
mutate { gsub => ["message", "@($NL$)@", "\r\n"] }
}
output {
elasticsearch {
}
}
This project will work with ALL versions of elasticsearch.
If you just want to send log data, i recommend you to use NetStash.
If you are using elasticsearch 7+ and need to log error details: I strongly recommend you to use https://github.com/elastic/apm-agent-dotnet Apm Agent Dotnet. (I'm a contributor of this too)
Iron Mountain Brasil
- All internals logs systems.