Ver código fonte

日志文件根据端口区分

skyfffire 2 anos atrás
pai
commit
e4dd9f4d81
3 arquivos alterados com 13 adições e 9 exclusões
  1. 1 1
      .gitignore
  2. 9 5
      global/src/log_utils.rs
  3. 3 3
      src/main.rs

+ 1 - 1
.gitignore

@@ -5,4 +5,4 @@ Cargo.lock
 config.toml
 *.log
 *.log.*
-/logs
+/logs*

+ 9 - 5
global/src/log_utils.rs

@@ -4,19 +4,23 @@ use tracing_subscriber::fmt;
 use tracing_subscriber::layer::SubscriberExt;
 
 pub fn init_log_with_debug() {
-    let _ = final_init(tracing::Level::DEBUG.as_str());
+    let _ = final_init(tracing::Level::DEBUG.as_str(), 0);
 }
 
 pub fn init_log_with_trace() {
-    let _ = final_init(tracing::Level::TRACE.as_str());
+    let _ = final_init(tracing::Level::TRACE.as_str(), 0);
 }
 
 pub fn init_log_with_info() {
-    let _ = final_init(tracing::Level::INFO.as_str());
+    let _ = final_init(tracing::Level::INFO.as_str(), 0);
 }
 
-pub fn final_init(level: &str) -> WorkerGuard {
-    let file_appender = tracing_appender::rolling::daily("./logs", "as-debug.log");
+pub fn final_init(level: &str, port: u32) -> WorkerGuard {
+    let mut path = String::new();
+    path.push_str("./logs");
+    path.push_str(port.to_string().as_str());
+
+    let file_appender = tracing_appender::rolling::daily(path, "as-debug.log");
     let (non_blocking, guard) = tracing_appender::non_blocking(file_appender);
 
     let fmt_layer = fmt::layer()

+ 3 - 3
src/main.rs

@@ -10,9 +10,9 @@ use tracing_appender::non_blocking::WorkerGuard;
 use global::params::Params;
 
 // 日志级别配置
-fn log_level_init(log_str: String) -> WorkerGuard {
+fn log_level_init(log_str: String, port: u32) -> WorkerGuard {
     info!("日志级别读取成功:{}。", log_str);
-    global::log_utils::final_init(log_str.as_str())
+    global::log_utils::final_init(log_str.as_str(), port)
 }
 
 // 获取本地配置
@@ -40,7 +40,7 @@ async fn main() {
     // 日志级别配置
     let params = read_params();
     // 日志级别配置
-    let _guard = log_level_init(params.log_level.clone());
+    let _guard = log_level_init(params.log_level.clone(), params.port.clone());
     info!("配置读取成功:{:?}。", params);
     // 主进程控制
     let running = Arc::new(AtomicBool::new(true));