What is this?
Have you ever thought about letting users search data in the frontend by writing search queries like SQL, but didn't because validation was too complicated?
SQE implements a parser using Antlr4 that allows users to type in queries. This project is primarily used to allow frontend searching Serilog Logs provided by the Serilog Microsoft SQL Server Sink and is used in our seriView WebApp.
Here are some examples of valid search strings:
Id = 3 Id = 3 OR Message = "Hello" Id = 3 AND (Message = "Hello" OR Level != 4) SomeProperty >= 5
Feel free to try some queries in our Demo!
Can I use this in my project that doesn't have anything to do with Serilog?
Sure! The grammar itself is not limited to Serilog, so you can use it as a starting point and generate your own parser and implement your own validation.
Feel free to contribute by creating issues or pull requests!
This project is licensed under the MIT License