1

I am looking for an api that can help me parse the log files, that I can call from my C# code. I do not need a viewer, as there is no requirement to view the logs. Parsing is needed to generate data for a machine learning application. So, any api that can give me a list of records, if I provide the path, is good enough.

I am trying to find it myself, but all I can find are the log viewers, which try to display data in their own style, do a lot of random work, have their own UI and architecture. What I need is just their Business logic in preferably a DLL, if that makes sense. If it is in form of a web service, that works too. As long as I can reference it, call a function, pass the file path, and get the parsed data in JSON or an object.

5
  • How does the service/software know the format of the log entries? Different loggers log information in very different formats. For example, nginx log is so much different from Rails log. Commented Sep 15, 2017 at 15:10
  • I can get the user to define the format, using a simple UI, and save that format in XML or something else. So, software will know the server path (configurable via UI), type of log, and format of log. Commented Sep 16, 2017 at 9:21
  • So you want to be able to tell the log-file-parsing service about the specification of the log file? The "specification" seems like the most significant part of the service you want, so you are basically writing the whole service yourself anyway… Commented Sep 16, 2017 at 14:39
  • I know. Thing is that specification part can change, so basically all I am looking for is a class that can take a list of parameters, and file path, and take care of the whole synchronicity, file reading, and managing USN journal etc. More or less, I am looking for a file reading class, I guess. Commented Sep 18, 2017 at 6:00
  • Oh and obviously, if the class can handle reading the file over networked drive, even better. So, if I pass an http or ftp address, it can still read the file, take care of everything related to server errors etc. Commented Sep 18, 2017 at 6:02

2 Answers 2

1

Splunk

You can try Splunk, an advanced analysis monitoring software. Can be used as a tool for collecting, monitoring, visualizing and analyzing machine data from any source. It's a commercial one, but free trial version is also available.

Splunk provides an API method for every feature. See: Managing Objects Tutorial.

If you need help with it, ask a Splunk questions at Stack Overflow.

0

Logstash

You can use Logstash, an open source, server-side data processing pipeline that ingests data from a multitude of sources simultaneously.

You can check the existing plugins at GitHub, whether you can find what you are looking for, or you can write your own.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.