mirror of
https://github.com/EasyTier/EasyTier.git
synced 2026-05-07 10:14:35 +00:00
feat(web): add webhook-managed machine access and multi-instance CLI support (#1989)
* feat: add webhook-managed access and multi-instance CLI support * fix(foreign): verify credential of foreign credential peer
This commit is contained in:
+30
-11
@@ -146,18 +146,37 @@ pub fn init(
|
||||
|
||||
std::thread::spawn(move || {
|
||||
while let Ok(lf) = recver.recv() {
|
||||
let e = file_filter_reloader.modify(|f| {
|
||||
if let Ok(nf) = EnvFilter::builder()
|
||||
.with_default_directive(lf.parse::<LevelFilter>().unwrap().into())
|
||||
.from_env()
|
||||
.with_context(|| "failed to create file filter")
|
||||
{
|
||||
info!("Reload log filter succeed, new filter level: {:?}", lf);
|
||||
*f = nf;
|
||||
let parsed_level = match lf.parse::<LevelFilter>() {
|
||||
Ok(level) => level,
|
||||
Err(e) => {
|
||||
error!("Failed to parse new log level {:?}: {}", lf, e);
|
||||
continue;
|
||||
}
|
||||
};
|
||||
|
||||
let mut new_filter = match EnvFilter::builder()
|
||||
.with_default_directive(parsed_level.into())
|
||||
.from_env()
|
||||
.with_context(|| "failed to create file filter")
|
||||
{
|
||||
Ok(filter) => Some(filter),
|
||||
Err(e) => {
|
||||
error!("Failed to build new log filter for {:?}: {:?}", lf, e);
|
||||
continue;
|
||||
}
|
||||
};
|
||||
|
||||
match file_filter_reloader.modify(|f| {
|
||||
*f = new_filter
|
||||
.take()
|
||||
.expect("log filter reloader only applies one filter per reload");
|
||||
}) {
|
||||
Ok(()) => {
|
||||
info!("Reload log filter succeed, new filter level: {:?}", lf);
|
||||
}
|
||||
Err(e) => {
|
||||
error!("Failed to reload log filter: {:?}", e);
|
||||
}
|
||||
});
|
||||
if e.is_err() {
|
||||
error!("Failed to reload log filter: {:?}", e);
|
||||
}
|
||||
}
|
||||
info!("Stop log filter reloader");
|
||||
|
||||
Reference in New Issue
Block a user