add debug logging to file as well as journal

This commit is contained in:
Meliox 2026-06-07 02:57:10 +02:00
parent 75235bf32e
commit 823af45d38
2 changed files with 20 additions and 3 deletions

View File

@ -35,6 +35,8 @@ our %config = (
nvidia_enabled => 0, nvidia_enabled => 0,
}, },
debug => { debug => {
log_enabled => 0,
log_file => '/tmp/pve-mod-debug.log',
nvidia_mode => 1, nvidia_mode => 1,
nvidia_devices_file => '/tmp/nvidia-smi-devices.csv', nvidia_devices_file => '/tmp/nvidia-smi-devices.csv',
nvidia_output_file => '/tmp/nvidia-smi-output.csv', nvidia_output_file => '/tmp/nvidia-smi-output.csv',

View File

@ -7,7 +7,9 @@ use Exporter 'import';
use JSON; use JSON;
use Fcntl qw(O_CREAT O_EXCL O_WRONLY); use Fcntl qw(O_CREAT O_EXCL O_WRONLY);
use PVE::PVEMod::Config qw($DEBUG_ENABLED $VERSION $pve_mod_working_dir); use PVE::PVEMod::Config qw($DEBUG_ENABLED $VERSION $pve_mod_working_dir %config);
my $debug_log_fh;
our @EXPORT_OK = qw( our @EXPORT_OK = qw(
debug debug
@ -43,12 +45,25 @@ sub debug {
$sub1 =~ s/.*:://; $sub1 =~ s/.*:://;
my $output;
if (defined $sub2) { if (defined $sub2) {
$sub2 =~ s/.*:://; $sub2 =~ s/.*:://;
warn "[$sub2 -> $sub1:$line] $message\n"; $output = "[$sub2 -> $sub1:$line] $message\n";
} else { } else {
warn "[$sub1:$line] $message\n"; $output = "[$sub1:$line] $message\n";
} }
warn $output;
if ($config{debug}{log_enabled} && !defined $debug_log_fh) {
if (open(my $fh, '>>', $config{debug}{log_file})) {
$fh->autoflush(1);
$debug_log_fh = $fh;
} else {
warn "[debug] Failed to open log file $config{debug}{log_file}: $!\n";
}
}
print $debug_log_fh $output if defined $debug_log_fh;
} }
# ============================================================================ # ============================================================================