feat: add setting custom log level
Some checks failed
CI / build (push) Failing after 3m53s
CI / lint (push) Failing after 3m33s
CI / pkl-validate (push) Successful in 13s
CI / integration-tests (push) Has been skipped
CI / conformance-tests (latest) (push) Has been skipped

This commit is contained in:
2026-02-12 22:51:49 +01:00
parent 6fd95c24fb
commit 476906fe97
2 changed files with 15 additions and 0 deletions

View File

@@ -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
}

View File

@@ -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)
}