Add log-init-function and websocket retry

This commit is contained in:
Tobias Reisinger 2023-11-29 01:03:04 +01:00
parent 6536ff0792
commit 50bcac2a1b
Signed by: serguzim
GPG key ID: 13AD60C237A28DFE
12 changed files with 73 additions and 69 deletions

View file

@ -12,7 +12,6 @@ actix-web = "4.4"
actix-web-actors = "4.2"
actix-cors = "0.6"
simple_logger = "4.2"
log = "0.4"
chrono = { version = "0.4", features = ["serde"] }

View file

@ -10,8 +10,7 @@ use actix_web::{middleware, web, App, HttpServer};
use emgauwa_lib::db::DbController;
use emgauwa_lib::handlers;
use emgauwa_lib::types::ConnectedControllersType;
use log::{trace, LevelFilter};
use simple_logger::SimpleLogger;
use emgauwa_lib::utils::init_logging;
mod settings;
mod utils;
@ -19,15 +18,7 @@ mod utils;
#[actix_web::main]
async fn main() -> std::io::Result<()> {
let settings = settings::init();
let log_level: LevelFilter =
LevelFilter::from_str(&settings.logging.level).expect("Error parsing log level.");
trace!("Log level set to {:?}", log_level);
SimpleLogger::new()
.with_level(log_level)
.init()
.expect("Error initializing logger.");
init_logging(&settings.logging.level);
let listener = TcpListener::bind(format!("{}:{}", settings.host, settings.port))
.expect("Error creating listener");

View file

@ -1,4 +1,5 @@
use crate::settings::Settings;
use log::log;
use std::ffi::CString;
use std::io::{Error, ErrorKind};
@ -26,11 +27,11 @@ fn drop_privileges_group(group: &str) -> Result<(), Error> {
if let Ok(cstr) = CString::new(group.as_bytes()) {
let p = unsafe { libc::getgrnam(cstr.as_ptr()) };
if p.is_null() {
eprintln!("Unable to getgrnam of group: {}", group);
log::error!("Unable to getgrnam of group: {}", group);
return Err(Error::last_os_error());
}
if unsafe { libc::setgid((*p).gr_gid) } != 0 {
eprintln!("Unable to setgid of group: {}", group);
log::error!("Unable to setgid of group: {}", group);
return Err(Error::last_os_error());
}
} else {
@ -47,11 +48,11 @@ fn drop_privileges_user(user: &str) -> Result<(), Error> {
if let Ok(cstr) = CString::new(user.as_bytes()) {
let p = unsafe { libc::getpwnam(cstr.as_ptr()) };
if p.is_null() {
eprintln!("Unable to getpwnam of user: {}", user);
log::error!("Unable to getpwnam of user: {}", user);
return Err(Error::last_os_error());
}
if unsafe { libc::setuid((*p).pw_uid) } != 0 {
eprintln!("Unable to setuid of user: {}", user);
log::error!("Unable to setuid of user: {}", user);
return Err(Error::last_os_error());
}
} else {