Record. Replay. Test.
Documentation · Bug Bounty · Maven · IntelliJ Plugin
Unlogged Java SDK enabled recording of code execution in a binary format.
Replay these records using the Unlogged IntelliJ Plugin and generate junit test cases.
The recording is highly detailed and can be used to reconstruct the code execution from scratch. The binary format descriptions are available in Kaitai format here
- 🎬 Execute Java methods in your process right from your IDE
- 🖥️ Replay one or all recorded executions and see the differences in response in real time
- 🎯 Setup assertions on individual keys in response objects
- 🎭 Mock downstream calls as easily as setting up a breakpoint
- 🩺 Identify bottlenecks in your code with perf numbers right above the method declaration
- 🦠 Create JUnit test cases from recorded executions
- Include dependency
<dependencies>
<dependency>
<groupId>video.bug</groupId>
<artifactId>unlogged-java-sdk</artifactId>
<version>0.2.16</version>
</dependency>
</dependencies>
dependencies
{
implementation 'video.bug:unlogged-sdk:0.2.16'
annotationProcessor 'video.bug:unlogged-sdk:0.2.16'
}
- Add
@Unlogged
annotation to your application entry point
public class Main {
@Unlogged
public static void main(String[] args) {
//
}
}
It is highly recommended that you disable the unlogged-sdk when deploying for usage. unlogged-sdk is only targetted for local usage only.
Adding the unlogged-sdk adds probes to your code which emits events in a binary format. Adding the @Unlogged
enabled to actual execution of those probes.
mvn package -Dunlogged.disable
or
./gradlew build -Dunlogged.disable
@Unlogged(enable = false)
You can find the latest release version here: https://mvnrepository.com/artifact/video.bug/unlogged-sdk
We welcome all contributions! There's many ways to contribute to the project, including but not limited to:
- Opening a PR
- Submitting feature requests or bugs
- Improving our product or contribution documentation
- Voting on open issues or contributing use cases to a feature request