diff --git a/go.mod b/go.mod index 41d138d9..943fcf8f 100644 --- a/go.mod +++ b/go.mod @@ -32,7 +32,7 @@ require ( github.com/libdns/huaweicloud v0.3.1 github.com/libdns/libdns v0.2.2 github.com/libdns/tencentcloud v1.1.0 - github.com/mholt/acmez/v2 v2.0.3 + github.com/mholt/acmez/v3 v3.0.0-20241205212901-02868f041e58 github.com/orandin/slog-gorm v1.4.0 github.com/robfig/cron/v3 v3.0.1 github.com/samber/do/v2 v2.0.0-beta.7 @@ -43,8 +43,6 @@ require ( github.com/stretchr/testify v1.10.0 github.com/tufanbarisyildirim/gonginx v0.0.0-20241205102811-323481085fb4 github.com/urfave/cli/v3 v3.0.0-beta1 - go.uber.org/zap v1.27.0 - go.uber.org/zap/exp v0.3.0 golang.org/x/crypto v0.30.0 golang.org/x/net v0.32.0 gopkg.in/natefinch/lumberjack.v2 v2.2.1 @@ -81,7 +79,7 @@ require ( github.com/tklauser/go-sysconf v0.3.14 // indirect github.com/tklauser/numcpus v0.8.0 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect - go.uber.org/multierr v1.11.0 // indirect + go.uber.org/goleak v1.3.0 // indirect golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 // indirect golang.org/x/sys v0.28.0 // indirect golang.org/x/text v0.21.0 // indirect @@ -94,5 +92,5 @@ require ( replace ( github.com/libdns/tencentcloud => github.com/devhaozi/tencentcloud v0.0.0-20241129095955-7d4e898ce504 - github.com/mholt/acmez/v2 => github.com/TheTNB/acmez/v2 v2.0.0-20241025203320-cc718c4c870b + github.com/mholt/acmez/v3 => github.com/TheTNB/acmez/v3 v3.0.0-20241207104744-c778583fbd17 ) diff --git a/go.sum b/go.sum index b5a628cb..34e5f1d3 100644 --- a/go.sum +++ b/go.sum @@ -1,7 +1,7 @@ filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= -github.com/TheTNB/acmez/v2 v2.0.0-20241025203320-cc718c4c870b h1:1iVxCglpEJ/kq48YcujkWq8SeOacMuMmuekMmGyOSPA= -github.com/TheTNB/acmez/v2 v2.0.0-20241025203320-cc718c4c870b/go.mod h1:pQ1ysaDeGrIMvJ9dfJMk5kJNkn7L2sb3UhyrX6Q91cw= +github.com/TheTNB/acmez/v3 v3.0.0-20241207104744-c778583fbd17 h1:BP7w9kK5EDB8bW2GukDKJ8uUPbGOyRtuO/JesbI/wtc= +github.com/TheTNB/acmez/v3 v3.0.0-20241207104744-c778583fbd17/go.mod h1:L1wOU06KKvq7tswuMDwKdcHeKpFFgkppZy/y0DFxagQ= github.com/bddjr/hlfhr v1.3.1 h1:TWhqa1zptk6xuenaRyqL4n3Hw3Zyodhi/XaPVb2sATg= github.com/bddjr/hlfhr v1.3.1/go.mod h1:oyIv4Q9JpCgZFdtH3KyTNWp7YYRWl4zl8k4ozrMAB4g= github.com/beevik/ntp v1.4.3 h1:PlbTvE5NNy4QHmA4Mg57n7mcFTmr1W1j3gcK7L1lqho= @@ -155,12 +155,6 @@ github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= -go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= -go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= -go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= -go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= -go.uber.org/zap/exp v0.3.0 h1:6JYzdifzYkGmTdRR59oYH+Ng7k49H9qVpWwNSsGJj3U= -go.uber.org/zap/exp v0.3.0/go.mod h1:5I384qq7XGxYyByIhHm6jg5CHkGY0nsTfbDLgDDlgJQ= golang.org/x/crypto v0.30.0 h1:RwoQn3GkWiMkzlX562cLB7OxWvjH1L8xutO2WoJcRoY= golang.org/x/crypto v0.30.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 h1:e66Fs6Z+fZTbFBAxKfP3PALWBtpfqks2bwGcexMxgtk= diff --git a/internal/bootstrap/logger.go b/internal/bootstrap/logger.go index 171853c8..83277f7b 100644 --- a/internal/bootstrap/logger.go +++ b/internal/bootstrap/logger.go @@ -3,39 +3,26 @@ package bootstrap import ( "log/slog" "path/filepath" - "time" - - "go.uber.org/zap" - "go.uber.org/zap/exp/zapslog" - "go.uber.org/zap/zapcore" - "gopkg.in/natefinch/lumberjack.v2" "github.com/TheTNB/panel/internal/app" + "gopkg.in/natefinch/lumberjack.v2" ) func initLogger() { - writeSyncer := zapcore.AddSync(&lumberjack.Logger{ + ljLogger := &lumberjack.Logger{ Filename: filepath.Join(app.Root, "panel/storage/logs/app.log"), MaxSize: 10, MaxAge: 30, Compress: true, - }) - - level := zap.InfoLevel - if app.Conf.Bool("app.debug") { - level = zap.DebugLevel } - config := zap.NewProductionEncoderConfig() - config.EncodeTime = zapcore.TimeEncoderOfLayout(time.DateTime) - core := zapcore.NewCore( - zapcore.NewJSONEncoder(config), - writeSyncer, - level, - ) + level := slog.LevelInfo + if app.Conf.Bool("app.debug") { + level = slog.LevelDebug + } - logger := zap.New(core) - zap.ReplaceGlobals(logger) - app.Logger = slog.New(zapslog.NewHandler(logger.Core())) + app.Logger = slog.New(slog.NewJSONHandler(ljLogger, &slog.HandlerOptions{ + Level: level, + })) slog.SetDefault(app.Logger) } diff --git a/pkg/acme/acme.go b/pkg/acme/acme.go index 8f85eae1..ddf05dcf 100644 --- a/pkg/acme/acme.go +++ b/pkg/acme/acme.go @@ -10,8 +10,8 @@ import ( "errors" "net/http" - "github.com/mholt/acmez/v2" - "github.com/mholt/acmez/v2/acme" + "github.com/mholt/acmez/v3" + "github.com/mholt/acmez/v3/acme" "github.com/TheTNB/panel/pkg/cert" ) diff --git a/pkg/acme/client.go b/pkg/acme/client.go index 93fcbf74..935653b7 100644 --- a/pkg/acme/client.go +++ b/pkg/acme/client.go @@ -5,8 +5,8 @@ import ( "sort" "github.com/libdns/libdns" - "github.com/mholt/acmez/v2" - "github.com/mholt/acmez/v2/acme" + "github.com/mholt/acmez/v3" + "github.com/mholt/acmez/v3/acme" "github.com/TheTNB/panel/pkg/cert" ) diff --git a/pkg/acme/solvers.go b/pkg/acme/solvers.go index cc5b6acc..b6c37b68 100644 --- a/pkg/acme/solvers.go +++ b/pkg/acme/solvers.go @@ -12,7 +12,7 @@ import ( "github.com/libdns/huaweicloud" "github.com/libdns/libdns" "github.com/libdns/tencentcloud" - "github.com/mholt/acmez/v2/acme" + "github.com/mholt/acmez/v3/acme" "golang.org/x/net/publicsuffix" "github.com/TheTNB/panel/pkg/shell" diff --git a/pkg/tools/logger.go b/pkg/tools/logger.go new file mode 100644 index 00000000..4c0efffe --- /dev/null +++ b/pkg/tools/logger.go @@ -0,0 +1,8 @@ +package tools + +// NoopLogger 给 go-resty 使用的空日志 +type NoopLogger struct{} + +func (NoopLogger) Errorf(format string, v ...any) {} +func (NoopLogger) Warnf(format string, v ...any) {} +func (NoopLogger) Debugf(format string, v ...any) {} diff --git a/pkg/tools/tools.go b/pkg/tools/tools.go index 90ec45e5..4586d227 100644 --- a/pkg/tools/tools.go +++ b/pkg/tools/tools.go @@ -18,7 +18,6 @@ import ( "github.com/shirou/gopsutil/load" "github.com/shirou/gopsutil/mem" "github.com/shirou/gopsutil/net" - "go.uber.org/zap" "github.com/TheTNB/panel/pkg/shell" "github.com/TheTNB/panel/pkg/types" @@ -90,9 +89,8 @@ func RestartPanel() { // IsChina 是否中国大陆 func IsChina() bool { - logger := zap.NewNop().Sugar() client := resty.New() - client.SetLogger(logger) + client.SetLogger(NoopLogger{}) client.SetDisableWarn(true) client.SetTimeout(3 * time.Second) client.SetRetryCount(3) @@ -111,9 +109,8 @@ func IsChina() bool { // GetPublicIPv4 获取公网IPv4 func GetPublicIPv4() (string, error) { - logger := zap.NewNop().Sugar() client := resty.New() - client.SetLogger(logger) + client.SetLogger(NoopLogger{}) client.SetDisableWarn(true) client.SetTimeout(3 * time.Second) client.SetRetryCount(3) @@ -133,9 +130,8 @@ func GetPublicIPv4() (string, error) { // GetPublicIPv6 获取公网IPv6 func GetPublicIPv6() (string, error) { - logger := zap.NewNop().Sugar() client := resty.New() - client.SetLogger(logger) + client.SetLogger(NoopLogger{}) client.SetDisableWarn(true) client.SetTimeout(3 * time.Second) client.SetRetryCount(3)