updates
This commit is contained in:
parent
8552248da4
commit
f76b7f29eb
@ -11,6 +11,7 @@ use tonic::{transport::Server, Request, Response, Status};
|
||||
use tracing::{info, trace, warn};
|
||||
use tracing_subscriber::{filter::EnvFilter, fmt, prelude::*};
|
||||
use tracing_appender::non_blocking;
|
||||
use tracing_appender::non_blocking::WorkerGuard;
|
||||
use udev::{MonitorBuilder};
|
||||
|
||||
use lesavka_server::{usb_gadget::UsbGadget, video};
|
||||
@ -22,29 +23,30 @@ use lesavka_common::lesavka::{
|
||||
};
|
||||
|
||||
// ───────────────── helper ─────────────────────
|
||||
fn ensure_log_file() -> anyhow::Result<()> {
|
||||
fn init_tracing() -> anyhow::Result<WorkerGuard> {
|
||||
// 1. create file writer + guard
|
||||
let file = std::fs::OpenOptions::new()
|
||||
.create(true).write(true).truncate(true)
|
||||
.open("/tmp/lesavka-server.log")?;
|
||||
let (file_writer, _guard) = non_blocking(file);
|
||||
|
||||
let env_filter = EnvFilter::try_from_default_env()
|
||||
.unwrap_or_else(|_| EnvFilter::new("lesavka_server=trace"));
|
||||
let (file_writer, guard) = non_blocking(file);
|
||||
|
||||
// 2. build subscriber once
|
||||
let env = EnvFilter::try_from_default_env()
|
||||
.unwrap_or_else(|_| EnvFilter::new("lesavka_server=info"));
|
||||
let console_layer = fmt::layer()
|
||||
.with_target(true)
|
||||
.with_thread_ids(true);
|
||||
let file_layer = fmt::layer()
|
||||
let file_layer = fmt::layer()
|
||||
.with_writer(file_writer)
|
||||
.with_ansi(false);
|
||||
|
||||
tracing_subscriber::registry()
|
||||
.with(env_filter)
|
||||
.with(env)
|
||||
.with(console_layer)
|
||||
.with(file_layer)
|
||||
.init();
|
||||
|
||||
Ok(())
|
||||
Ok(guard)
|
||||
}
|
||||
|
||||
/*─────────────────── tonic service ─────────────────────*/
|
||||
@ -193,12 +195,7 @@ impl Relay for Handler {
|
||||
#[tokio::main(flavor = "multi_thread", worker_threads = 4)]
|
||||
async fn main() -> anyhow::Result<()> {
|
||||
/* logging */
|
||||
ensure_log_file()?;
|
||||
fmt().with_env_filter(
|
||||
EnvFilter::try_from_default_env()
|
||||
.unwrap_or_else(|_| EnvFilter::new("lesavka_server=info")),
|
||||
)
|
||||
.init();
|
||||
let _log_guard = init_tracing()?;
|
||||
|
||||
/* auto‑cycle task */
|
||||
// tokio::spawn(async { monitor_gc311_disconnect().await.ok(); });
|
||||
|
||||
@ -11,7 +11,7 @@ use tonic::Status;
|
||||
pub async fn spawn_camera(
|
||||
dev: &str,
|
||||
id: u32,
|
||||
max_bitrate_kbit: u32,
|
||||
_max_bitrate_kbit: u32,
|
||||
) -> anyhow::Result<ReceiverStream<Result<VideoPacket, Status>>> {
|
||||
gst::init().context("gst init")?;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user