Inspiration
swing was inspired by the need to develop a reliable alternative to storing logs other than using services like logzio or loggly; factors like the transfer protocol and how we could employ an easier and faster means of transporting logs from our applications onto a fast and easily scaled database inspired me to build swing.
What it does
Swing is a cloud-based log-as-a-service system that enables developers to store and analyze their applications logs in bulk using the terminal. With a variety of commands, developers are able to use swing to query log records using parameters like the loglevel, logfunction, logmessage, logduration etc
How we built it
we built swing, piece by piece with the main application that interacts with the database at the bottom layer, followed by the command line client which serves as the application, developers can interact with to communicate with the swing API. Swing currently provides a handler you can use with any python application to quickly transport logs, we are also creating support for nodejs and golang applications as time goes on.
Challenges we ran into
some of the challenges we ran into while building swing was providing stable support for windows as we did for Linux and macOS; we also ran into challenges while trying to set up a proper video for the project as our initial recording got corrupted with not enough time to record another video, and so we just had to publish a quick screen recording.
Accomplishments that we're proud of
We are proud to have a fully functional version 1 of swing, most of the features we thought about adding to the cli application were integrated. we also tested it on one of our in-house applications and it stores and retrieves logs as expected, so that is a big win for us.
What we learned
while building swing, we got to learn interesting things about logging, the singlestoredb and some of its semantics, we learned and implemented a different protocol for transferring data from one device to another using a specification called JSON-RPC.
What's next for swing
we still have a ton of work to get done one swing, and this is just the beginning; next we are going to focus on:
- a web interface for analyzing logs through the browser
- error reporting via emails
- analytics and metrics from logs
- support for windows
- support for nodejs and Go
Built With
- cobra
- go
- heroku
- python
- python-package-index
- singlestoredb
Log in or sign up for Devpost to join the conversation.