This is an automated email from the ASF dual-hosted git repository.
zhongxjian pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-kubernetes.git
The following commit(s) were added to refs/heads/master by this push:
new 6dbc1324 [operator] add console logger logic
6dbc1324 is described below
commit 6dbc1324b6857f2dd68fdad5e952210f1e39b5b4
Author: mfordjody <[email protected]>
AuthorDate: Sat Dec 14 09:06:13 2024 +0800
[operator] add console logger logic
---
operator/cmd/cluster/install.go | 8 +++++++
operator/cmd/cluster/shared.go | 4 ++++
operator/pkg/util/clog/clog.go | 46 ++++++++++++++++++++++++++++++++++++-
operator/pkg/util/clog/log/scope.go | 4 ++++
4 files changed, 61 insertions(+), 1 deletion(-)
diff --git a/operator/cmd/cluster/install.go b/operator/cmd/cluster/install.go
index af886a92..2ce363cd 100644
--- a/operator/cmd/cluster/install.go
+++ b/operator/cmd/cluster/install.go
@@ -6,6 +6,8 @@ import (
"github.com/apache/dubbo-kubernetes/operator/pkg/installer"
"github.com/apache/dubbo-kubernetes/operator/pkg/render"
"github.com/apache/dubbo-kubernetes/operator/pkg/util/clog"
+ "github.com/apache/dubbo-kubernetes/operator/pkg/util/clog/log"
+ "github.com/apache/dubbo-kubernetes/pkg/art"
"github.com/apache/dubbo-kubernetes/pkg/kube"
"github.com/apache/dubbo-kubernetes/pkg/util/pointer"
"github.com/spf13/cobra"
@@ -15,6 +17,8 @@ import (
"time"
)
+var installerScope = log.RegisterScope("installer", "installer")
+
type installArgs struct {
Files []string
Sets []string
@@ -52,6 +56,10 @@ func InstallCmdWithArgs(ctx cli.Context, rootArgs *RootArgs,
iArgs *installArgs)
if err != nil {
return err
}
+ p := NewPrinterForWriter(cmd.OutOrStderr())
+ cl := clog.NewConsoleLogger(cmd.OutOrStdout(),
cmd.ErrOrStderr(), installerScope)
+ p.Printf("%v\n", art.DubboArt())
+ return install(kubeClient, rootArgs, iArgs, cl,
cmd.OutOrStdout(), p)
},
}
return ic
diff --git a/operator/cmd/cluster/shared.go b/operator/cmd/cluster/shared.go
index b394c570..0969405d 100644
--- a/operator/cmd/cluster/shared.go
+++ b/operator/cmd/cluster/shared.go
@@ -43,3 +43,7 @@ func OptionDeterminator(msg string, writer io.Writer) bool {
}
}
}
+
+func NewPrinterForWriter(w io.Writer) Printer {
+ return &writerPrinter{writer: w}
+}
diff --git a/operator/pkg/util/clog/clog.go b/operator/pkg/util/clog/clog.go
index 8f6e727f..a9f0ee1d 100644
--- a/operator/pkg/util/clog/clog.go
+++ b/operator/pkg/util/clog/clog.go
@@ -1,6 +1,10 @@
package clog
-import "io"
+import (
+ "github.com/apache/dubbo-kubernetes/operator/pkg/util/clog/log"
+ "io"
+ "os"
+)
type ConsoleLogger struct {
stdOut io.Writer
@@ -8,6 +12,34 @@ type ConsoleLogger struct {
scope *log.Scope
}
+func (l *ConsoleLogger) LogAndError(v ...any) {
+ if len(v) == 0 {
+ return
+ }
+ s := fmt.Sprint(v...)
+ l.PrintErr(s + "\n")
+ l.scope.Infof(s)
+}
+func (l *ConsoleLogger) LogAndFatal(a ...any) {
+ l.LogAndError(a...)
+ os.Exit(-1)
+}
+func (l *ConsoleLogger) LogAndPrintf(format string, a ...any) {
+ s := fmt.Sprintf(format, a...)
+ l.Print(s + "\n")
+ l.scope.Infof(s)
+}
+func (l *ConsoleLogger) LogAndErrorf(format string, a ...any) {
+ s := fmt.Sprintf(format, a...)
+ l.PrintErr(s + "\n")
+ l.scope.Infof(s)
+}
+
+func (l *ConsoleLogger) LogAndFatalf(format string, a ...any) {
+ l.LogAndErrorf(format, a...)
+ os.Exit(-1)
+}
+
type Logger interface {
LogAndPrint(v ...any)
LogAndError(v ...any)
@@ -24,3 +56,15 @@ func NewDefaultLogger() *ConsoleLogger {
func (l *ConsoleLogger) LogAndPrint(v ...any) {
return
}
+
+func NewConsoleLogger(stdOut, stdErr io.Writer, scope *log.Scope)
*ConsoleLogger {
+ s := scope
+ if s == nil {
+ s = log.RegisterScope(log.DefaultScopeName,
log.DefaultScopeName)
+ }
+ return &ConsoleLogger{
+ stdOut: stdOut,
+ stdErr: stdErr,
+ scope: s,
+ }
+}
diff --git a/operator/pkg/util/clog/log/scope.go
b/operator/pkg/util/clog/log/scope.go
index f332139f..da45db03 100644
--- a/operator/pkg/util/clog/log/scope.go
+++ b/operator/pkg/util/clog/log/scope.go
@@ -6,6 +6,10 @@ import (
"sync"
)
+const (
+ DefaultScopeName = "default"
+)
+
type Scope struct {
name string
}