mirror of
https://github.com/luxfi/ledger.git
synced 2026-10-30 16:21:35 +00:00
- Added hid.go with direct USB HID communication - Added apdu.go for APDU packet wrapping - Added logger.go with simple zap-based logging (NO GOLEM) - Updated lux.go to use local LedgerAdmin/LedgerDevice - Updated types.go to use local interfaces - Fixed .gitignore to not ignore go.mod Dependencies reduced from 121 to 17 (86% reduction) NO GOLEM. NO BLOAT.
51 lines
1021 B
Go
51 lines
1021 B
Go
// Copyright (C) 2019-2025, Lux Industries Inc. All rights reserved.
|
|
// Simple zap-based logger - NO GOLEM DEPENDENCY
|
|
// Licensed under the Apache License, Version 2.0
|
|
|
|
package ledger
|
|
|
|
import (
|
|
"os"
|
|
"strings"
|
|
|
|
"go.uber.org/zap"
|
|
"go.uber.org/zap/zapcore"
|
|
)
|
|
|
|
var log *zap.SugaredLogger
|
|
|
|
func init() {
|
|
initLogger()
|
|
}
|
|
|
|
func initLogger() {
|
|
level := getLogLevel()
|
|
|
|
config := zap.NewDevelopmentConfig()
|
|
config.EncoderConfig.EncodeLevel = zapcore.CapitalColorLevelEncoder
|
|
|
|
switch level {
|
|
case "debug":
|
|
config.Level = zap.NewAtomicLevelAt(zap.DebugLevel)
|
|
case "info":
|
|
config.Level = zap.NewAtomicLevelAt(zap.InfoLevel)
|
|
case "warn":
|
|
config.Level = zap.NewAtomicLevelAt(zap.WarnLevel)
|
|
case "error":
|
|
config.Level = zap.NewAtomicLevelAt(zap.ErrorLevel)
|
|
default:
|
|
config.Level = zap.NewAtomicLevelAt(zap.InfoLevel)
|
|
}
|
|
|
|
logger, _ := config.Build()
|
|
log = logger.Sugar()
|
|
}
|
|
|
|
func getLogLevel() string {
|
|
level := os.Getenv("LEDGER_LOG_LEVEL")
|
|
if level == "" {
|
|
level = "info"
|
|
}
|
|
return strings.ToLower(level)
|
|
}
|