Skip to content

Commit d2c72cd

Browse files
committed
refactor(examples): remove env-logger and setup eyre and tracing
Signed-off-by: Joshua Chapman <joshua.chapman@secomind.com>
1 parent 641399f commit d2c72cd

File tree

8 files changed

+118
-185
lines changed

8 files changed

+118
-185
lines changed

Cargo.lock

Lines changed: 1 addition & 125 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ astarte-message-hub-proto = { workspace = true }
103103
astarte-message-hub-proto-mock = { workspace = true }
104104
async-trait = { workspace = true }
105105
color-eyre = { workspace = true }
106-
env_logger = { workspace = true }
106+
eyre = { workspace = true }
107107
mockall = { workspace = true }
108108
mockito = { workspace = true }
109109
pretty_assertions = { workspace = true }
@@ -143,7 +143,6 @@ bytes = "1.5.0"
143143
cfg-if = "1.0.0"
144144
chrono = "0.4.20"
145145
color-eyre = "0.6.3"
146-
env_logger = "0.11.0"
147146
eyre = "0.6.12"
148147
flate2 = "1.0.0"
149148
flume = "0.11.0"

examples/individual_datastream/main.rs

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
use std::time::{Duration, SystemTime};
2222

23+
use eyre::OptionExt;
2324
use serde::Deserialize;
2425

2526
use astarte_device_sdk::{
@@ -28,8 +29,7 @@ use astarte_device_sdk::{
2829
};
2930
use tokio::task::JoinSet;
3031
use tracing::error;
31-
32-
type DynError = Box<dyn std::error::Error + Send + Sync + 'static>;
32+
use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt};
3333

3434
#[derive(Deserialize)]
3535
struct Config {
@@ -40,14 +40,17 @@ struct Config {
4040
}
4141

4242
#[tokio::main]
43-
async fn main() -> Result<(), DynError> {
44-
env_logger::init();
43+
async fn main() -> eyre::Result<()> {
44+
color_eyre::install()?;
45+
tracing_subscriber::registry()
46+
.with(tracing_subscriber::fmt::layer())
47+
.try_init()?;
48+
4549
let now = SystemTime::now();
4650

4751
// Load configuration
48-
let file =
49-
std::fs::read_to_string("./examples/individual_datastream/configuration.json").unwrap();
50-
let cfg: Config = serde_json::from_str(&file).unwrap();
52+
let file = std::fs::read_to_string("./examples/individual_datastream/configuration.json")?;
53+
let cfg: Config = serde_json::from_str(&file)?;
5154

5255
let mut mqtt_config = MqttConfig::with_credential_secret(
5356
&cfg.realm,
@@ -67,7 +70,7 @@ async fn main() -> Result<(), DynError> {
6770
let client_cl = client.clone();
6871
println!("Connection to Astarte established.");
6972

70-
let mut tasks = JoinSet::<Result<(), DynError>>::new();
73+
let mut tasks = JoinSet::<eyre::Result<()>>::new();
7174

7275
// Create a task to transmit
7376
tasks.spawn(async move {
@@ -113,7 +116,7 @@ async fn main() -> Result<(), DynError> {
113116
let led_id = iter
114117
.next()
115118
.and_then(|id| id.parse::<u16>().ok())
116-
.ok_or("Incorrect error received.")?;
119+
.ok_or_eyre("Incorrect error received.")?;
117120

118121
match iter.next() {
119122
Some("enable") => {
@@ -124,7 +127,7 @@ async fn main() -> Result<(), DynError> {
124127
);
125128
}
126129
Some("intensity") => {
127-
let value: f64 = var.try_into().unwrap();
130+
let value: f64 = var.try_into()?;
128131
println!(
129132
"Received new intensity datastream for LED number {}. LED intensity is now {}",
130133
led_id, value

0 commit comments

Comments
 (0)