From 4b2a75a17f74bdf98859a4501d386a3da4c27aef Mon Sep 17 00:00:00 2001
From: Hanno Braun <hanno@braun-odw.eu>
Date: Thu, 7 Sep 2023 17:45:32 +0200
Subject: [PATCH] Set up logging in `handle_model`

---
 crates/fj/src/handle_model.rs | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/crates/fj/src/handle_model.rs b/crates/fj/src/handle_model.rs
index ff8eb482a..8eff14fdf 100644
--- a/crates/fj/src/handle_model.rs
+++ b/crates/fj/src/handle_model.rs
@@ -11,6 +11,7 @@ use fj_core::{
 };
 use fj_interop::model::Model;
 use fj_math::{Aabb, Point, Scalar};
+use tracing_subscriber::prelude::*;
 
 use crate::Args;
 
@@ -30,6 +31,11 @@ where
     for<'r> (&'r M, Tolerance): Triangulate,
     M: BoundingVolume<3>,
 {
+    tracing_subscriber::registry()
+        .with(tracing_subscriber::fmt::layer())
+        .with(tracing_subscriber::EnvFilter::from_default_env())
+        .init();
+
     let args = Args::parse();
 
     if args.ignore_validation {
@@ -82,6 +88,10 @@ pub type Result = std::result::Result<(), Error>;
 /// Error returned by [`handle_model`]
 #[derive(thiserror::Error)]
 pub enum Error {
+    /// Failed to set up logger
+    #[error("Failed to set up logger")]
+    Tracing(#[from] tracing::subscriber::SetGlobalDefaultError),
+
     /// Error displaying model
     #[error("Error displaying model")]
     Display(#[from] crate::window::Error),