Skip to content

Commit

Permalink
Release 2.4.1
Browse files Browse the repository at this point in the history
  • Loading branch information
yuezk committed Jan 9, 2025
1 parent d37ccaf commit ec85e85
Show file tree
Hide file tree
Showing 5 changed files with 34 additions and 39 deletions.
24 changes: 12 additions & 12 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ members = ["crates/*", "apps/gpclient", "apps/gpservice", "apps/gpauth", "apps/g

[workspace.package]
rust-version = "1.80"
version = "2.4.0"
version = "2.4.1"
authors = ["Kevin Yue <[email protected]>"]
homepage = "https://github.com/yuezk/GlobalProtect-openconnect"
edition = "2021"
Expand Down
8 changes: 4 additions & 4 deletions apps/gpservice/src/cli.rs
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ struct Cli {

impl Cli {
async fn run(&mut self) -> anyhow::Result<()> {
let redaction = self.init_logger()?;
let redaction = self.init_logger();
info!("gpservice started: {}", VERSION);

let lock_file = Arc::new(LockFile::new(GP_SERVICE_LOCK_FILE));
Expand Down Expand Up @@ -100,7 +100,7 @@ impl Cli {
Ok(())
}

fn init_logger(&self) -> anyhow::Result<Arc<Redaction>> {
fn init_logger(&self) -> Arc<Redaction> {
let redaction = Arc::new(Redaction::new());
let redaction_clone = Arc::clone(&redaction);

Expand All @@ -122,9 +122,9 @@ impl Cli {

let level = self.verbose.log_level_filter().to_level().unwrap_or(log::Level::Info);

logger::init_with_logger(level, inner_logger)?;
logger::init_with_logger(level, inner_logger);

Ok(redaction)
redaction
}

fn prepare_api_key(&self) -> Vec<u8> {
Expand Down
4 changes: 2 additions & 2 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Changelog

## [Unreleased]
## 2.4.1 - 2025-01-09

- Fix the issue with OpenSSL < 3.0.4
- Fix the network issue with OpenSSL < 3.0.4
- GUI: fix the Wayland compatibility issue
- Support configure the log level
- Log the detailed error message when network error occurs
Expand Down
35 changes: 15 additions & 20 deletions crates/gpapi/src/logger.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,40 +2,35 @@ use std::sync::OnceLock;

use anyhow::bail;
use env_logger::Logger;
use log::Level;
use log::{warn, Level};
use log_reload::{ReloadHandle, ReloadLog};

static LOG_HANDLE: OnceLock<ReloadHandle<log_reload::LevelFilter<Logger>>> = OnceLock::new();

pub fn init(level: Level) -> anyhow::Result<()> {
pub fn init(level: Level) {
// Initialize the env_logger and global max level to trace, the logs will be
// filtered by the outer logger
let logger = env_logger::builder().filter_level(log::LevelFilter::Trace).build();
init_with_logger(level, logger)?;

Ok(())
init_with_logger(level, logger);
}

pub fn init_with_logger(level: Level, logger: Logger) -> anyhow::Result<()> {
pub fn init_with_logger(level: Level, logger: Logger) {
if let Some(_) = LOG_HANDLE.get() {
bail!("Logger already initialized")
} else {
log::set_max_level(log::LevelFilter::Trace);
warn!("Logger already initialized");
return;
}

// Create a new logger that will filter the logs based on the max level
let level_filter_logger = log_reload::LevelFilter::new(level, logger);
log::set_max_level(log::LevelFilter::Trace);

let reload_log = ReloadLog::new(level_filter_logger);
let handle = reload_log.handle();
// Create a new logger that will filter the logs based on the max level
let level_filter_logger = log_reload::LevelFilter::new(level, logger);

// Register the logger to be used by the log crate
log::set_boxed_logger(Box::new(reload_log))?;
LOG_HANDLE
.set(handle)
.map_err(|_| anyhow::anyhow!("Failed to set the logger"))?;
}
let reload_log = ReloadLog::new(level_filter_logger);
let handle = reload_log.handle();

Ok(())
// Register the logger to be used by the log crate
let _ = log::set_boxed_logger(Box::new(reload_log));
let _ = LOG_HANDLE.set(handle);
}

pub fn set_max_level(level: Level) -> anyhow::Result<()> {
Expand Down

0 comments on commit ec85e85

Please sign in to comment.