From 476906fe975d976c3654f03c97d41b8b7e6448d8 Mon Sep 17 00:00:00 2001 From: ManInDark <61268856+ManInDark@users.noreply.github.com> Date: Thu, 12 Feb 2026 22:51:49 +0100 Subject: [PATCH] feat: add setting custom log level --- helper.go | 9 +++++++++ proxmox.go | 6 ++++++ 2 files changed, 15 insertions(+) diff --git a/helper.go b/helper.go index c60b76e..61a683b 100644 --- a/helper.go +++ b/helper.go @@ -37,6 +37,15 @@ func getCredentials() (username, token string, err error) { return username, token, nil } +func setupLogging() { + programLevel := new(slog.LevelVar) + env := os.Getenv("PROXMOX_LOG_LEVEL") + programLevel.UnmarshalText([]byte(env)) + logger := slog.New(slog.NewTextHandler(os.Stderr, &slog.HandlerOptions{Level: programLevel})) + slog.Info("Set log level", "level", programLevel) + slog.SetDefault(logger) +} + func createAuthorizationString(username, token string) string { return "PVEAPIToken=" + username + "=" + token } diff --git a/proxmox.go b/proxmox.go index 2b94de6..c35bf07 100644 --- a/proxmox.go +++ b/proxmox.go @@ -55,26 +55,32 @@ func (p *Plugin) LabelConfig() plugin.LabelConfig { // ============================================================================= func (p *Plugin) Create(ctx context.Context, req *resource.CreateRequest) (*resource.CreateResult, error) { + setupLogging() return p.CreateLXC(ctx, req) } func (p *Plugin) Read(ctx context.Context, req *resource.ReadRequest) (*resource.ReadResult, error) { + setupLogging() return p.ReadLXC(ctx, req) } func (p *Plugin) Update(ctx context.Context, req *resource.UpdateRequest) (*resource.UpdateResult, error) { + setupLogging() return p.UpdateLXC(ctx, req) } func (p *Plugin) Delete(ctx context.Context, req *resource.DeleteRequest) (*resource.DeleteResult, error) { + setupLogging() return p.DeleteLXC(ctx, req) } func (p *Plugin) Status(ctx context.Context, req *resource.StatusRequest) (*resource.StatusResult, error) { + setupLogging() return p.StatusLXC(ctx, req) } // Called during discovery to find unmanaged resources. func (p *Plugin) List(ctx context.Context, req *resource.ListRequest) (*resource.ListResult, error) { + setupLogging() return p.ListLXC(ctx, req) }