Mock, Monitor, Replay, and Test with Ease
Boost your Java development with one-click mocks, automated unit test generation, and real-time performance tracking—all open source!
Boost your Java development with one-click mocks, automated unit test generation, and real-time performance tracking—all open source!
Also, unlike others - our open-source solution thrives offline, ensuring your code remains securely on your premises 🔒.
Save time, deploy confidently, and ensure code stability with Unlogged's automated snapshot testing for Java developers.
Unlogged automatically captures the input and return values, and alerts you of possible breaking changes, instantly. This means faster time to market and faster bug fixes.
You can now record method inputs and return values on a remote machine, which can then be easily replayed locally for testing purposes. This streamlined process saves developers time and effort.
As developers, we wished to know what we are going to break in production as we code. With Unlogged, you know what you are breaking, right when you code. You can now deploy your changes more confidently.
It’s frustrating to debug deep down in your code with Swagger or Postman. You can now call any Java methods directly, and start debugging where it matters.
It's impossible to keep all microservices running all the time. We let you mock API, DB calls, downstream services & file operations with the recorded data. What's more: you can even define mocks as you code without any recording.
Unlogged provides the convenience of both Unit and Integration tests combined in a single tool. You can finally move on from the unit vs integration tests debate, since Unlogged offers both in one.
Unlogged uses bytecode instrumentation to intercept method calls and log their input arguments and return values. These logs are then stored in a structured format for later replay. Check our blog to learn more about it.
Unlogged provides a powerful mechanism for regression testing, allowing developers to quickly verify the correctness of their changes by replaying recorded scenarios. It helps catch potential bugs right when you code.
Currently, Unlogged supports Java backend projects. However, we are working on supporting Kotlin, Scala, Python, JavaScript, and GoLang in the future.
Unlogged is primarily intended for use in development and testing environments. It is not recommended to use it in production, as it introduces overhead due to the logging and recording.
To use Unlogged, you'll need to include the Unlogged dependency in your project and follow the provided setup instructions. Check the documentation to learn about this.
Currently, just adding the annotation @Unlogged records every method inside your Java code. In future, Unlogged will allow you to specify which methods you want to log and which ones to exclude. This level of customization will help manage the size of the logs and avoid logging sensitive data.
While Unlogged can introduce some overhead due to the additional logging and recording, it is generally designed to have a minimal impact on performance. However, it's essential to use it judiciously and not in production environments.
Yes, Unlogged can handle asynchronous and multi-threaded code. It maintains the context and thread-specific logs to ensure accurate recording and replay.
Currently, changes in the method signature need a re-recording. We are working on handling these changes gracefully.
Yes, Unlogged is an open-source project with its code repository and community support.
For any inquiries, issues, or community discussions, you can visit our GitHub repository.
Here's how you can get friendship privileges👇🏻
Coffee's on us 😄