complicated_json/
complicated_json.rs1#[macro_use]
2extern crate log;
3#[macro_use]
4extern crate s_structured_log;
5extern crate serde_json;
6
7use s_structured_log::{JsonLogger, LoggerOutput, q};
8
9fn main() {
10 JsonLogger::init(LoggerOutput::Stderr, log::LogLevelFilter::Info);
11
12 s_info!(json_object! {
14 "Fruits" => json_object! {
15 "on_the_table" => json_object! {
16 "Apple" => 1,
17 "Orange" => "two",
18 "Grape" => 1.2
19 },
20 "in_the_basket" => ["Banana", "Strawberry"]
21 },
22 "Pets" => [
23 json_object! {
24 "name" => "Tama",
25 "kind" => "cat",
26 "age" => 3
27 },
28 json_object! {
29 "name" => "Pochi",
30 "kind" => "dog",
31 "age" => 5
32 }
33 ]
34 });
35
36 info!(target: &format!("json:{}", module_path!()),
38 "{}",
39 json_format! {
40 "Fruits" => json_format! {
41 "on_the_table" => json_format! {
42 "Apple" => 1,
43 "Orange" => q("two"),
44 "Grape" => 1.2
45 },
46 "in_the_basket" => json_format![q("Banana"), q("Strawberry")]
47 },
48 "Pets" => json_format![
49 json_format! {
50 "name" => q("Tama"),
51 "kind" => q("cat"),
52 "age" => 3
53 },
54 json_format! {
55 "name" => q("Pochi"),
56 "kind" => q("dog"),
57 "age" => 5
58 }
59 ]
60 });
61
62 info!("{}",
64 json_format! {
65 "Fruits" => json_format! {
66 "on_the_table" => json_format! {
67 "Apple" => 1,
68 "Orange" => 2,
69 "Grape" => 1.2
70 },
71 "in_the_basket" => json_format![q("Banana"), q("Strawberry")]
72 },
73 "Pets" => json_format![
74 json_format! {
75 "name" => q("Tama"),
76 "kind" => q("cat")
77 },
78 json_format! {
79 "name" => q("Pochi"),
80 "kind" => q("dog")
81 }
82 ]
83 });
84}