Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nalchevanidze/diff_logger

Pretty diff logger for JSON values in rust
https://github.com/nalchevanidze/diff_logger

Last synced: about 12 hours ago
JSON representation

Pretty diff logger for JSON values in rust

Awesome Lists containing this project

README

        

# DiffLogger

generates a log of changes for JSON values

# Example

```rs
use diff_logger::DiffLogger;
use serde_json::json;

fn main() {
let logger = DiffLogger::new().set_header("timestamp", false);

let prev = json!({
"name": "David",
"age": 43,
"ver": {
"timestamp": "2023-04-07T11:17:50+00:00",
"value": "some text",
},
"state": {
"timestamp": "2023-04-07T11:17:50+00:00",
"removedField": "some text",
"valueChange": 45
},
"email": [
{ "num": "[email protected]"},
]
});

let next = json!(
{
"name": "John",
"age": 35,
"state": {
"timestamp": "2023-04-07T12:17:50+00:00",
"newField": 4,
"valueChange": 42352
},
"ver": {
"timestamp": "2023-04-07T11:18:50+00:00",
"value": "some text",
},
"email": [
{ "num": "[email protected]"},
]
});

println!("----------------------\n");
logger.log_diff(&prev, &next);
println!("\n----------------------");
}
```

logs:

![demo](assets/demo.png)