@@ -9,7 +9,7 @@ mod shared;
9
9
mod websocket;
10
10
11
11
use fern:: colors:: { Color , ColoredLevelConfig } ;
12
- use log:: { info, LevelFilter } ;
12
+ use log:: { debug , info, LevelFilter } ;
13
13
use std:: sync:: atomic:: { AtomicBool , Ordering } ;
14
14
use std:: sync:: Arc ;
15
15
use std:: thread;
@@ -18,7 +18,7 @@ use tokio::runtime::Runtime;
18
18
use tokio:: time:: interval;
19
19
20
20
use crate :: {
21
- backend:: { setup_backend , stop_backend} ,
21
+ backend:: { keep_backend_alive , stop_backend} ,
22
22
gui:: setup_gui,
23
23
resources:: start_application,
24
24
shared:: get_data_path,
@@ -85,17 +85,23 @@ async fn run() {
85
85
info ! ( "Backend is disabled" ) ;
86
86
} else {
87
87
// Setup the backend server
88
+ info ! ( "Setting up backend server.." ) ;
89
+
88
90
let _handle = thread:: spawn ( move || {
89
91
let rt = Runtime :: new ( ) . unwrap ( ) ;
90
92
rt. block_on ( async {
93
+ // Keep the backend server alive
94
+ keep_backend_alive ( ) . await ;
91
95
// Check backend server is running every 60 seconds
92
96
let mut interval: tokio:: time:: Interval = interval ( Duration :: from_secs ( 60 ) ) ;
97
+ interval. tick ( ) . await ;
93
98
loop {
94
- // Setup the backend server
95
- setup_backend ( ) . await ;
96
-
97
99
info ! ( "Waiting for 60 seconds before checking the backend server again" ) ;
98
100
interval. tick ( ) . await ;
101
+ debug ! ( "Checking backend server.." ) ;
102
+
103
+ // Keep the backend server alive
104
+ keep_backend_alive ( ) . await ;
99
105
}
100
106
} ) ;
101
107
} ) ;
@@ -127,9 +133,14 @@ fn setup_logger() -> Result<(), fern::InitError> {
127
133
let stdout_config = fern:: Dispatch :: new ( )
128
134
. format ( move |out, message, record| {
129
135
out. finish ( format_args ! (
130
- "[ {} {} {}] {}" ,
136
+ "{} {} ({}) [ {}] {}" ,
131
137
humantime:: format_rfc3339( std:: time:: SystemTime :: now( ) ) ,
132
138
colors. color( record. level( ) ) ,
139
+ std:: thread:: current( ) . name( ) . unwrap_or(
140
+ & format!( "{:?}" , std:: thread:: current( ) . id( ) )
141
+ . replace( "ThreadId(" , "" )
142
+ . replace( ")" , "" )
143
+ ) ,
133
144
record. target( ) ,
134
145
message
135
146
) )
@@ -139,9 +150,14 @@ fn setup_logger() -> Result<(), fern::InitError> {
139
150
let file_config = fern:: Dispatch :: new ( )
140
151
. format ( move |out, message, record| {
141
152
out. finish ( format_args ! (
142
- "[{} {} {}] {}" ,
153
+ "[{} {} {} {} ] {}" ,
143
154
humantime:: format_rfc3339( std:: time:: SystemTime :: now( ) ) ,
144
155
record. level( ) ,
156
+ std:: thread:: current( ) . name( ) . unwrap_or(
157
+ & format!( "{:?}" , std:: thread:: current( ) . id( ) )
158
+ . replace( "ThreadId(" , "" )
159
+ . replace( ")" , "" )
160
+ ) ,
145
161
record. target( ) ,
146
162
message
147
163
) )
0 commit comments