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