@@ -6,7 +6,9 @@ use argon2::PasswordHasher;
6
6
use serde:: de:: DeserializeOwned ;
7
7
use sqlx:: { Connection , Executor } ;
8
8
use std:: fmt:: Debug ;
9
+ use std:: fs:: { create_dir_all, File } ;
9
10
use std:: ops:: Deref ;
11
+ use std:: path:: PathBuf ;
10
12
use std:: sync:: LazyLock ;
11
13
use uuid:: Uuid ;
12
14
use wykies_server:: Configuration ;
@@ -19,7 +21,7 @@ use wykies_shared::{
19
21
db_types:: { DbConnection , DbPool } ,
20
22
host_branch:: HostBranchPair ,
21
23
req_args:: LoginReqArgs ,
22
- telemetry:: { self , get_subscriber, init_subscriber} ,
24
+ telemetry:: { get_subscriber, init_subscriber} ,
23
25
uac:: Username ,
24
26
} ;
25
27
use wykies_time:: Seconds ;
@@ -33,13 +35,26 @@ pub static TRACING: LazyLock<String> = LazyLock::new(|| {
33
35
let default_filter_level = "info" . to_string ( ) ;
34
36
let subscriber_name = "test" . to_string ( ) ;
35
37
if std:: env:: var ( "TEST_LOG" ) . is_ok ( ) {
36
- let log_file_name = format ! ( "server_tests{}" , Uuid :: new_v4( ) ) ;
37
- let ( file, path) = telemetry:: create_trace_file ( & log_file_name) . unwrap ( ) ;
38
+ let log_file_name = format ! (
39
+ "{}_server_tests{}.log" ,
40
+ chrono:: Local :: now( ) . format( "%Y-%m-%dT%H-%M-%S" ) ,
41
+ Uuid :: new_v4( )
42
+ ) ;
43
+ let log_folder = PathBuf :: from ( "traces" ) ;
44
+ create_dir_all ( & log_folder)
45
+ . context ( "Failed to create logging folder" )
46
+ . unwrap ( ) ;
47
+ let file_path = log_folder. join ( & log_file_name) ;
48
+ let file = File :: create ( & file_path)
49
+ . with_context ( || format ! ( "Failed to create log file: {file_path:?}" ) )
50
+ . unwrap ( ) ;
51
+
38
52
let subscriber = get_subscriber ( subscriber_name, default_filter_level, file) ;
39
53
init_subscriber ( subscriber) . unwrap ( ) ;
40
54
format ! (
41
55
"Traces for tests being written to: {:?}" ,
42
- path. canonicalize( )
56
+ file_path
57
+ . canonicalize( )
43
58
. context( "trace file canonicalization failed" )
44
59
. unwrap( )
45
60
)
0 commit comments