11use anyhow:: Context ;
22use clap:: Parser ;
33use clp_rust_utils:: { clp_config:: package, serde:: yaml} ;
4- use tracing_appender:: {
5- non_blocking:: WorkerGuard ,
6- rolling:: { RollingFileAppender , Rotation } ,
7- } ;
8- use tracing_subscriber:: { self , fmt:: writer:: MakeWriterExt } ;
94
105#[ derive( Parser ) ]
116#[ command( version, about = "API Server for CLP." ) ]
@@ -40,29 +35,6 @@ fn read_config_and_credentials(
4035 Ok ( ( config, credentials) )
4136}
4237
43- fn set_up_logging ( ) -> anyhow:: Result < WorkerGuard > {
44- let logs_directory =
45- std:: env:: var ( "CLP_LOGS_DIR" ) . context ( "Expect `CLP_LOGS_DIR` environment variable." ) ?;
46- let logs_directory = std:: path:: Path :: new ( logs_directory. as_str ( ) ) ;
47- let file_appender =
48- RollingFileAppender :: new ( Rotation :: HOURLY , logs_directory, "api_server.log" ) ;
49- let ( non_blocking_writer, guard) = tracing_appender:: non_blocking ( file_appender) ;
50- tracing_subscriber:: fmt ( )
51- . event_format (
52- tracing_subscriber:: fmt:: format ( )
53- . with_level ( true )
54- . with_target ( false )
55- . with_file ( true )
56- . with_line_number ( true )
57- . json ( ) ,
58- )
59- . with_env_filter ( tracing_subscriber:: EnvFilter :: from_default_env ( ) )
60- . with_ansi ( false )
61- . with_writer ( std:: io:: stdout. and ( non_blocking_writer) )
62- . init ( ) ;
63- Ok ( guard)
64- }
65-
6638async fn shutdown_signal ( ) {
6739 let mut sigterm = tokio:: signal:: unix:: signal ( tokio:: signal:: unix:: SignalKind :: terminate ( ) )
6840 . expect ( "failed to listen for SIGTERM" ) ;
@@ -79,7 +51,7 @@ async fn main() -> anyhow::Result<()> {
7951 let args = Args :: parse ( ) ;
8052
8153 let ( config, credentials) = read_config_and_credentials ( & args) ?;
82- let _guard = set_up_logging ( ) ? ;
54+ let _guard = clp_rust_utils :: logging :: set_up_logging ( "api_server.log" ) ;
8355
8456 let api_server_config = config
8557 . api_server
0 commit comments