You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by GitBox <gi...@apache.org> on 2018/08/02 04:54:23 UTC

[GitHub] asifdxtreme closed pull request #407: SCB-792 More abundant metrics information

asifdxtreme closed pull request #407: SCB-792 More abundant metrics information
URL: https://github.com/apache/incubator-servicecomb-service-center/pull/407
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/docs/README.md b/docs/README.md
index 481d3f8e..5a9f8aa1 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -6,7 +6,7 @@
 
 - [Api Documentation](https://rawcdn.githack.com/ServiceComb/service-center/master/docs/api-docs.html)
 
-#### [Contribution Guide](/docs/contribution.md) 
+- [Plug-in Extension](/server/plugin/README.md)
 
 #### [Docker Image Guide](/scripts/docker) 
 
@@ -14,4 +14,14 @@
 
 - [Making Front-end Image](/scripts/docker/build-frontend-image)
 
-#### [Deploy Service-Center in Cluster](/docs/sc-cluster.md)
+#### Deploy Service-Center
+
+- [Cluster Deployment](/docs/sc-cluster.md)
+
+- [Deploy with TLS](/docs/security-tls.md)
+
+#### Monitoring Service-Center
+
+- [Integrate with Grafana](/docs/integration-grafana.md)
+
+#### [Contribution Guide](/docs/contribution.md) 
\ No newline at end of file
diff --git a/docs/integration-grafana.PNG b/docs/integration-grafana.PNG
new file mode 100644
index 00000000..e8e96090
Binary files /dev/null and b/docs/integration-grafana.PNG differ
diff --git a/docs/integration-grafana.md b/docs/integration-grafana.md
new file mode 100644
index 00000000..1909fd85
--- /dev/null
+++ b/docs/integration-grafana.md
@@ -0,0 +1,9 @@
+# Integrate with Grafana
+
+As Service-Center uses Prometheus lib to report metrics.
+Then it is easy to integrate with Grafana.
+Here is a [template](/integration/health-metrics-grafana.json) file can be imported in Grafana.
+
+After the import, you can get the view like blow.
+
+![Grafana](/docs/integration-grafana.PNG)
\ No newline at end of file
diff --git a/docs/security_tls.md b/docs/security-tls.md
similarity index 100%
rename from docs/security_tls.md
rename to docs/security-tls.md
diff --git a/glide.yaml b/glide.yaml
index 2a8830a0..fce282ba 100644
--- a/glide.yaml
+++ b/glide.yaml
@@ -3,9 +3,9 @@ import:
 - package: github.com/Knetic/govaluate
   version: 91facc4ae520fef82c9aee6b6ae720d9ae789131
   repo: https://github.com/Knetic/govaluate
-- package: github.com/ServiceComb/paas-lager
-  version: 378a833fc008d8343083dc73e77db142afccf377
-  repo: https://github.com/ServiceComb/paas-lager
+- package: github.com/go-chassis/paas-lager
+  version: master
+  repo: https://github.com/go-chassis/paas-lager
   subpackages:
   - third_party/forked/cloudfoundry/lager
 - package: github.com/Shopify/sarama
diff --git a/integration/health-metrics-grafana.json b/integration/health-metrics-grafana.json
index fdc80d25..7b435ba3 100644
--- a/integration/health-metrics-grafana.json
+++ b/integration/health-metrics-grafana.json
@@ -109,7 +109,7 @@
       },
       "gridPos": {
         "h": 3,
-        "w": 2,
+        "w": 4,
         "x": 0,
         "y": 0
       },
@@ -171,88 +171,6 @@
       ],
       "valueName": "current"
     },
-    {
-      "cacheTimeout": null,
-      "colorBackground": false,
-      "colorValue": false,
-      "colors": [
-        "#299c46",
-        "rgba(237, 129, 40, 0.89)",
-        "#d44a3a"
-      ],
-      "datasource": "${DS_LOCAL}",
-      "format": "none",
-      "gauge": {
-        "maxValue": 100,
-        "minValue": 0,
-        "show": false,
-        "thresholdLabels": false,
-        "thresholdMarkers": true
-      },
-      "gridPos": {
-        "h": 3,
-        "w": 2,
-        "x": 2,
-        "y": 0
-      },
-      "id": 19,
-      "interval": null,
-      "links": [],
-      "mappingType": 1,
-      "mappingTypes": [
-        {
-          "name": "value to text",
-          "value": 1
-        },
-        {
-          "name": "range to text",
-          "value": 2
-        }
-      ],
-      "maxDataPoints": 100,
-      "minSpan": 4,
-      "nullPointMode": "connected",
-      "nullText": null,
-      "postfix": "",
-      "postfixFontSize": "50%",
-      "prefix": "",
-      "prefixFontSize": "50%",
-      "rangeMaps": [
-        {
-          "from": "null",
-          "text": "N/A",
-          "to": "null"
-        }
-      ],
-      "sparkline": {
-        "fillColor": "rgba(31, 118, 189, 0.18)",
-        "full": true,
-        "lineColor": "rgb(31, 120, 193)",
-        "show": false
-      },
-      "tableColumn": "",
-      "targets": [
-        {
-          "expr": "max(service_center_db_backend_total{job=\"service-center\"})",
-          "format": "time_series",
-          "instant": false,
-          "intervalFactor": 2,
-          "refId": "A"
-        }
-      ],
-      "thresholds": "",
-      "title": "Backends",
-      "type": "singlestat",
-      "valueFontSize": "80%",
-      "valueMaps": [
-        {
-          "op": "=",
-          "text": "N/A",
-          "value": "null"
-        }
-      ],
-      "valueName": "current"
-    },
     {
       "cacheTimeout": null,
       "colorBackground": false,
@@ -474,6 +392,88 @@
       "type": "grafana-piechart-panel",
       "valueName": "current"
     },
+    {
+      "cacheTimeout": null,
+      "colorBackground": false,
+      "colorValue": false,
+      "colors": [
+        "#299c46",
+        "rgba(237, 129, 40, 0.89)",
+        "#d44a3a"
+      ],
+      "datasource": "${DS_LOCAL}",
+      "format": "none",
+      "gauge": {
+        "maxValue": 100,
+        "minValue": 0,
+        "show": false,
+        "thresholdLabels": false,
+        "thresholdMarkers": true
+      },
+      "gridPos": {
+        "h": 3,
+        "w": 4,
+        "x": 0,
+        "y": 3
+      },
+      "id": 19,
+      "interval": null,
+      "links": [],
+      "mappingType": 1,
+      "mappingTypes": [
+        {
+          "name": "value to text",
+          "value": 1
+        },
+        {
+          "name": "range to text",
+          "value": 2
+        }
+      ],
+      "maxDataPoints": 100,
+      "minSpan": 4,
+      "nullPointMode": "connected",
+      "nullText": null,
+      "postfix": "",
+      "postfixFontSize": "50%",
+      "prefix": "",
+      "prefixFontSize": "50%",
+      "rangeMaps": [
+        {
+          "from": "null",
+          "text": "N/A",
+          "to": "null"
+        }
+      ],
+      "sparkline": {
+        "fillColor": "rgba(31, 118, 189, 0.18)",
+        "full": true,
+        "lineColor": "rgb(31, 120, 193)",
+        "show": false
+      },
+      "tableColumn": "",
+      "targets": [
+        {
+          "expr": "max(service_center_db_backend_total{job=\"service-center\"})",
+          "format": "time_series",
+          "instant": false,
+          "intervalFactor": 2,
+          "refId": "A"
+        }
+      ],
+      "thresholds": "",
+      "title": "Backends",
+      "type": "singlestat",
+      "valueFontSize": "80%",
+      "valueMaps": [
+        {
+          "op": "=",
+          "text": "N/A",
+          "value": "null"
+        }
+      ],
+      "valueName": "current"
+    },
     {
       "cacheTimeout": null,
       "colorBackground": false,
@@ -2437,7 +2437,7 @@
     "list": []
   },
   "time": {
-    "from": "now-15m",
+    "from": "now-5m",
     "to": "now"
   },
   "timepicker": {
@@ -2468,5 +2468,5 @@
   "timezone": "",
   "title": "ServiceCenter",
   "uid": "Zg6NoHGiz",
-  "version": 45
+  "version": 47
 }
\ No newline at end of file
diff --git a/pkg/etcdsync/mutex.go b/pkg/etcdsync/mutex.go
index cc7fc2d0..81070f8f 100644
--- a/pkg/etcdsync/mutex.go
+++ b/pkg/etcdsync/mutex.go
@@ -133,7 +133,7 @@ func (m *DLock) Lock(wait bool) (err error) {
 		return fmt.Errorf("Key %s is locked by id=%s", m.builder.key, m.id)
 	}
 
-	util.Logger().Warnf(err, "Key %s is locked, waiting for other node releases it, id=%s", m.builder.key, m.id)
+	util.Logger().Errorf(err, "Key %s is locked, waiting for other node releases it, id=%s, %s", m.builder.key, m.id)
 
 	ctx, cancel := context.WithTimeout(m.builder.ctx, time.Duration(m.builder.ttl)*time.Second)
 	util.Go(func(context.Context) {
@@ -149,7 +149,7 @@ func (m *DLock) Lock(wait bool) (err error) {
 					return nil
 				}))
 		if err != nil {
-			util.Logger().Warnf(nil, "%s, key=%s, id=%s", err.Error(), m.builder.key, m.id)
+			util.Logger().Warnf("%s, key=%s, id=%s", err.Error(), m.builder.key, m.id)
 		}
 	})
 	select {
diff --git a/pkg/grace/grace.go b/pkg/grace/grace.go
index e53c6d44..2d188559 100644
--- a/pkg/grace/grace.go
+++ b/pkg/grace/grace.go
@@ -157,7 +157,7 @@ func fork() (err error) {
 		util.Logger().Errorf(err, "fork a process failed, %v", args)
 		return
 	}
-	util.Logger().Warnf(nil, "fork process %v", args)
+	util.Logger().Warnf("fork process %v", args)
 	return
 }
 
diff --git a/pkg/plugin/loader.go b/pkg/plugin/loader.go
index 0306ef22..f5a3bbac 100644
--- a/pkg/plugin/loader.go
+++ b/pkg/plugin/loader.go
@@ -49,7 +49,7 @@ func (pm *Loader) Init() {
 
 	err := pm.ReloadPlugins()
 	if len(pm.Plugins) == 0 {
-		util.Logger().Warnf(err, "no any plugin has been loaded.")
+		util.Logger().Errorf(err, "no any plugin has been loaded.")
 	}
 }
 
diff --git a/pkg/rest/server.go b/pkg/rest/server.go
index 06bbcaa3..0bcabb60 100644
--- a/pkg/rest/server.go
+++ b/pkg/rest/server.go
@@ -260,10 +260,10 @@ func (srv *Server) gracefulStop(d time.Duration) {
 	}
 
 	if n != 0 {
-		util.Logger().Warnf(nil, "%s timed out, force close %d connection(s)", d, n)
+		util.Logger().Warnf("%s timed out, force close %d connection(s)", d, n)
 		err := srv.Server.Close()
 		if err != nil {
-			util.Logger().Warnf(err, "server close failed")
+			util.Logger().Errorf(err, "server close failed")
 		}
 	}
 }
diff --git a/pkg/tlsutil/tlsutil.go b/pkg/tlsutil/tlsutil.go
index b50acd17..4995ecd8 100644
--- a/pkg/tlsutil/tlsutil.go
+++ b/pkg/tlsutil/tlsutil.go
@@ -42,7 +42,7 @@ func ParseSSLCipherSuites(ciphers string, permitTlsCipherSuiteMap map[string]uin
 			cipherSuiteList = append(cipherSuiteList, cipherSuite)
 		} else {
 			// 配置算法不存在
-			util.Logger().Warnf(nil, "cipher %s not exist.", cipherSuiteName)
+			util.Logger().Warnf("cipher %s not exist.", cipherSuiteName)
 		}
 	}
 
@@ -58,7 +58,7 @@ func ParseSSLProtocol(sprotocol string) uint16 {
 	if protocol, ok := TLS_VERSION_MAP[sprotocol]; ok {
 		result = protocol
 	} else {
-		util.Logger().Warnf(nil, "invalid ssl minimal version(%s), use default.", sprotocol)
+		util.Logger().Warnf("invalid ssl minimal version(%s), use default.", sprotocol)
 	}
 
 	return result
diff --git a/pkg/util/log.go b/pkg/util/log.go
index 38d80519..9f1da953 100644
--- a/pkg/util/log.go
+++ b/pkg/util/log.go
@@ -18,8 +18,8 @@ package util
 
 import (
 	"fmt"
-	"github.com/ServiceComb/paas-lager"
-	"github.com/ServiceComb/paas-lager/third_party/forked/cloudfoundry/lager"
+	stlager "github.com/go-chassis/paas-lager"
+	"github.com/go-chassis/paas-lager/third_party/forked/cloudfoundry/lager"
 	"golang.org/x/net/context"
 	"os"
 	"path/filepath"
@@ -148,7 +148,7 @@ func Logger() lager.Logger {
 			}
 			logger = NewLogger(cfg)
 			loggers[logFile] = logger
-			logger.Warnf(nil, "match %s, new globalLogger %s for %s", prefix, logFile, funcFullName)
+			logger.Warnf("match %s, new globalLogger %s for %s", prefix, logFile, funcFullName)
 		}
 		loggersMux.Unlock()
 		return logger
@@ -223,7 +223,7 @@ func LogNilOrWarnf(start time.Time, format string, args ...interface{}) {
 	if cost < time.Second {
 		return
 	}
-	Logger().Warnf(nil, "[%s]%s", cost, fmt.Sprintf(format, args...))
+	Logger().Warnf("[%s]%s", cost, fmt.Sprintf(format, args...))
 }
 
 func LogDebugOrWarnf(start time.Time, format string, args ...interface{}) {
@@ -232,7 +232,7 @@ func LogDebugOrWarnf(start time.Time, format string, args ...interface{}) {
 		Logger().Debugf("[%s]%s", cost, fmt.Sprintf(format, args...))
 		return
 	}
-	Logger().Warnf(nil, "[%s]%s", cost, fmt.Sprintf(format, args...))
+	Logger().Warnf("[%s]%s", cost, fmt.Sprintf(format, args...))
 }
 
 func LogInfoOrWarnf(start time.Time, format string, args ...interface{}) {
@@ -241,5 +241,5 @@ func LogInfoOrWarnf(start time.Time, format string, args ...interface{}) {
 		Logger().Infof("[%s]%s", cost, fmt.Sprintf(format, args...))
 		return
 	}
-	Logger().Warnf(nil, "[%s]%s", cost, fmt.Sprintf(format, args...))
+	Logger().Warnf("[%s]%s", cost, fmt.Sprintf(format, args...))
 }
diff --git a/server/api.go b/server/api.go
index c6945353..8783d518 100644
--- a/server/api.go
+++ b/server/api.go
@@ -98,7 +98,7 @@ func (s *APIServer) registryService(pCtx context.Context) error {
 		return err
 	}
 	if respE.Response.Code == pb.Response_SUCCESS {
-		util.Logger().Warnf(nil, "service center service already registered, serviceId %s", respE.ServiceId)
+		util.Logger().Warnf("service center service already registered, serviceId %s", respE.ServiceId)
 		respG, err := core.ServiceAPI.GetOne(ctx, core.GetServiceRequest(respE.ServiceId))
 		if respG.Response.Code != pb.Response_SUCCESS {
 			util.Logger().Errorf(err, "query service center service info failed, serviceId %s", respE.ServiceId)
@@ -153,7 +153,7 @@ func (s *APIServer) unregisterInstance(pCtx context.Context) error {
 		util.Logger().Error(err.Error(), nil)
 		return err
 	}
-	util.Logger().Warnf(nil, "unregister service center instance %s/%s",
+	util.Logger().Warnf("unregister service center instance %s/%s",
 		core.Service.ServiceId, core.Instance.InstanceId)
 	return nil
 }
diff --git a/server/broker/util.go b/server/broker/util.go
index 8f8e70ab..9b433414 100644
--- a/server/broker/util.go
+++ b/server/broker/util.go
@@ -24,7 +24,6 @@ import (
 	"strconv"
 	"strings"
 
-	"github.com/ServiceComb/paas-lager/third_party/forked/cloudfoundry/lager"
 	"github.com/apache/incubator-servicecomb-service-center/pkg/util"
 	"github.com/apache/incubator-servicecomb-service-center/server/broker/brokerpb"
 	"github.com/apache/incubator-servicecomb-service-center/server/core"
@@ -33,6 +32,7 @@ import (
 	scerr "github.com/apache/incubator-servicecomb-service-center/server/error"
 	"github.com/apache/incubator-servicecomb-service-center/server/infra/registry"
 	serviceUtil "github.com/apache/incubator-servicecomb-service-center/server/service/util"
+	"github.com/go-chassis/paas-lager/third_party/forked/cloudfoundry/lager"
 	"path/filepath"
 	"time"
 )
diff --git a/server/core/backend/cacher_kv.go b/server/core/backend/cacher_kv.go
index 9be17aa8..7f97b677 100644
--- a/server/core/backend/cacher_kv.go
+++ b/server/core/backend/cacher_kv.go
@@ -80,7 +80,7 @@ func (c *KvCacher) doList(cfg ListWatchConfig) error {
 	evts := c.filter(c.lw.Revision(), kvs)
 	if ec, kc := len(evts), len(kvs); c.Cfg.DeferHandler != nil && ec == 0 && kc != 0 &&
 		c.Cfg.DeferHandler.Reset() {
-		util.Logger().Warnf(nil, "most of the protected data(%d/%d) are recovered",
+		util.Logger().Warnf("most of the protected data(%d/%d) are recovered",
 			kc, c.cache.GetAll(nil))
 	}
 	c.sync(evts)
@@ -379,11 +379,11 @@ func (c *KvCacher) onEvents(evts []KvEvent) {
 			case init:
 				evt.Type = proto.EVT_INIT
 			case !ok && evt.Type != proto.EVT_CREATE:
-				util.Logger().Warnf(nil, "unexpected %s event! it should be %s key %s",
+				util.Logger().Warnf("unexpected %s event! it should be %s key %s",
 					evt.Type, proto.EVT_CREATE, key)
 				evt.Type = proto.EVT_CREATE
 			case ok && evt.Type != proto.EVT_UPDATE:
-				util.Logger().Warnf(nil, "unexpected %s event! it should be %s key %s",
+				util.Logger().Warnf("unexpected %s event! it should be %s key %s",
 					evt.Type, proto.EVT_UPDATE, key)
 				evt.Type = proto.EVT_UPDATE
 			}
@@ -392,7 +392,7 @@ func (c *KvCacher) onEvents(evts []KvEvent) {
 			evts[i] = evt
 		case proto.EVT_DELETE:
 			if !ok {
-				util.Logger().Warnf(nil, "unexpected %s event! key %s does not cache",
+				util.Logger().Warnf("unexpected %s event! key %s does not cache",
 					evt.Type, key)
 			} else {
 				evt.KV = prevKv
diff --git a/server/core/backend/defer_instance.go b/server/core/backend/defer_instance.go
index b89d511c..095c5b87 100644
--- a/server/core/backend/defer_instance.go
+++ b/server/core/backend/defer_instance.go
@@ -115,7 +115,7 @@ func (iedh *InstanceEventDeferHandler) check(ctx context.Context) {
 			total := iedh.cache.GetAll(nil)
 			if total > 5 && float64(del) >= float64(total)*iedh.Percent {
 				iedh.enabled = true
-				util.Logger().Warnf(nil, "self preservation is enabled, caught %d/%d(>=%.0f%%) DELETE events",
+				util.Logger().Warnf("self preservation is enabled, caught %d/%d(>=%.0f%%) DELETE events",
 					del, total, iedh.Percent*100)
 			}
 
@@ -133,20 +133,20 @@ func (iedh *InstanceEventDeferHandler) check(ctx context.Context) {
 					default:
 						continue
 					}
-					util.Logger().Warnf(nil, "defer handle timed out, removed key is %s", key)
+					util.Logger().Warnf("defer handle timed out, removed key is %s", key)
 				}
 				iedh.recover(item.event)
 			}
 
 			if iedh.enabled && len(iedh.items) == 0 {
 				iedh.renew()
-				util.Logger().Warnf(nil, "self preservation is stopped")
+				util.Logger().Warnf("self preservation is stopped")
 			}
 
 			t.Reset(DEFAULT_CHECK_WINDOW)
 		case <-iedh.resetCh:
 			iedh.renew()
-			util.Logger().Warnf(nil, "self preservation is reset")
+			util.Logger().Warnf("self preservation is reset")
 
 			util.ResetTimer(t, DEFAULT_CHECK_WINDOW)
 		}
diff --git a/server/core/backend/lease.go b/server/core/backend/lease.go
index d3e7e8ee..928e95df 100644
--- a/server/core/backend/lease.go
+++ b/server/core/backend/lease.go
@@ -61,7 +61,7 @@ func (lat *LeaseTask) Do(ctx context.Context) (err error) {
 
 	cost := time.Now().Sub(recv)
 	if cost >= 2*time.Second {
-		util.Logger().Warnf(nil, "[%s]renew lease %d(recv: %s, send: %s), key %s", cost,
+		util.Logger().Warnf("[%s]renew lease %d(recv: %s, send: %s), key %s", cost,
 			lat.LeaseID,
 			recv.Format(TIME_FORMAT),
 			start.Format(TIME_FORMAT),
diff --git a/server/core/core.go b/server/core/core.go
index 0d5c2144..8562ada6 100644
--- a/server/core/core.go
+++ b/server/core/core.go
@@ -96,10 +96,10 @@ func handleSignals() {
 		switch sig {
 		case syscall.SIGINT, syscall.SIGKILL, syscall.SIGTERM:
 			<-time.After(wait)
-			util.Logger().Warnf(nil, "waiting for server response timed out(%s), force shutdown", wait)
+			util.Logger().Warnf("waiting for server response timed out(%s), force shutdown", wait)
 			os.Exit(1)
 		default:
-			util.Logger().Warnf(nil, "received signal '%v'", sig)
+			util.Logger().Warnf("received signal '%v'", sig)
 		}
 	}
 }
diff --git a/server/plugin/infra/registry/embededetcd/embededetcd.go b/server/plugin/infra/registry/embededetcd/embededetcd.go
index fd0a174e..f39257a5 100644
--- a/server/plugin/infra/registry/embededetcd/embededetcd.go
+++ b/server/plugin/infra/registry/embededetcd/embededetcd.go
@@ -503,7 +503,7 @@ func setResponseAndCallback(pResp *registry.PluginResponse, kvs []*mvccpb.KeyVal
 }
 
 func getEmbedInstance() mgr.PluginInstance {
-	util.Logger().Warnf(nil, "starting service center in embed mode")
+	util.Logger().Warnf("starting service center in embed mode")
 
 	hostName := beego.AppConfig.DefaultString("manager_name", "sc-0")
 	mgrAddrs := beego.AppConfig.DefaultString("manager_addr", "http://127.0.0.1:2380")
diff --git a/server/plugin/infra/registry/etcd/etcd.go b/server/plugin/infra/registry/etcd/etcd.go
index 5127db62..3205f3fa 100644
--- a/server/plugin/infra/registry/etcd/etcd.go
+++ b/server/plugin/infra/registry/etcd/etcd.go
@@ -98,7 +98,7 @@ func (c *EtcdClient) Initialize() (err error) {
 
 	close(c.ready)
 
-	util.Logger().Warnf(nil, "get etcd client %v completed, auto sync endpoints interval is %s.",
+	util.Logger().Warnf("get etcd client %v completed, auto sync endpoints interval is %s.",
 		c.Endpoints, c.AutoSyncInterval)
 	return
 }
@@ -809,7 +809,7 @@ func callback(action registry.ActionType, rev int64, kvs []*mvccpb.KeyValue, cb
 }
 
 func NewRegistry() mgr.PluginInstance {
-	util.Logger().Warnf(nil, "starting service center in proxy mode")
+	util.Logger().Warnf("starting service center in proxy mode")
 
 	inst := &EtcdClient{}
 	if err := inst.Initialize(); err != nil {
diff --git a/server/plugin/infra/registry/etcd/logger.go b/server/plugin/infra/registry/etcd/logger.go
index c0e35ba1..349614d4 100644
--- a/server/plugin/infra/registry/etcd/logger.go
+++ b/server/plugin/infra/registry/etcd/logger.go
@@ -71,7 +71,7 @@ func (l *clientLogger) Warningln(args ...interface{}) {
 }
 
 func (l *clientLogger) Warningf(format string, args ...interface{}) {
-	util.Logger().Warnf(nil, format, args...)
+	util.Logger().Warnf(format, args...)
 }
 
 func (l *clientLogger) Error(args ...interface{}) {
diff --git a/server/plugin/infra/tls/buildin/tls.go b/server/plugin/infra/tls/buildin/tls.go
index 9ed80643..67ae48a4 100644
--- a/server/plugin/infra/tls/buildin/tls.go
+++ b/server/plugin/infra/tls/buildin/tls.go
@@ -47,14 +47,14 @@ func GetSSLPath(path string) string {
 func GetPassphase() (pass string, decrypt string) {
 	passphase, err := ioutil.ReadFile(GetSSLPath("cert_pwd"))
 	if err != nil {
-		util.Logger().Warn("read file cert_pwd failed.", err)
+		util.Logger().Errorf(err, "read file cert_pwd failed.")
 	}
 
 	pass = util.BytesToStringWithNoCopy(passphase)
 	if len(pass) > 0 {
 		decrypt, err = plugin.Plugins().Cipher().Decrypt(pass)
 		if err != nil {
-			util.Logger().Warnf(err, "decrypt ssl passphase(%d) failed.", len(pass))
+			util.Logger().Errorf(err, "decrypt ssl passphase(%d) failed.", len(pass))
 			decrypt = ""
 		}
 	}
diff --git a/server/plugin/infra/tracing/buildin/common.go b/server/plugin/infra/tracing/buildin/common.go
index fb839852..14e30f7e 100644
--- a/server/plugin/infra/tracing/buildin/common.go
+++ b/server/plugin/infra/tracing/buildin/common.go
@@ -31,7 +31,7 @@ import (
 func initTracer() {
 	collector, err := newCollector()
 	if err != nil {
-		util.Logger().Warnf(err, "new tracing collector failed, use the noop tracer")
+		util.Logger().Errorf(err, "new tracing collector failed, use the noop tracer")
 		return
 	}
 	ipPort := metric.InstanceName()
diff --git a/server/plugin/infra/tracing/buildin/file_collector.go b/server/plugin/infra/tracing/buildin/file_collector.go
index 46de622a..4de5588b 100644
--- a/server/plugin/infra/tracing/buildin/file_collector.go
+++ b/server/plugin/infra/tracing/buildin/file_collector.go
@@ -98,7 +98,7 @@ func (f *FileCollector) checkFile() error {
 		return fmt.Errorf("stat %s: %s", f.Fd.Name(), err)
 	}
 
-	util.Logger().Warnf(nil, "tracing file %s does not exist, re-create one", f.Fd.Name())
+	util.Logger().Warnf("tracing file %s does not exist, re-create one", f.Fd.Name())
 	fd, err := os.OpenFile(f.Fd.Name(), os.O_APPEND|os.O_CREATE|os.O_RDWR, stat.Mode())
 	if err != nil {
 		return fmt.Errorf("open %s: %s", f.Fd.Name(), err)
diff --git a/server/server.go b/server/server.go
index ca70ad42..69992282 100644
--- a/server/server.go
+++ b/server/server.go
@@ -75,7 +75,7 @@ func (s *ServiceCenterServer) needUpgrade() bool {
 	update := !serviceUtil.VersionMatchRule(core.ServerInfo.Version,
 		fmt.Sprintf("%s+", version.Ver().Version))
 	if !update && version.Ver().Version != core.ServerInfo.Version {
-		util.Logger().Warnf(nil,
+		util.Logger().Warnf(
 			"there is a higher version '%s' in cluster, now running '%s' version may be incompatible",
 			core.ServerInfo.Version, version.Ver().Version)
 	}
@@ -134,7 +134,7 @@ func (s *ServiceCenterServer) autoCompactBackend() {
 			case <-time.After(interval):
 				lock, err := mux.Try(mux.GLOBAL_LOCK)
 				if lock == nil {
-					util.Logger().Warnf(err, "can not compact backend by this service center instance now")
+					util.Logger().Errorf(err, "can not compact backend by this service center instance now")
 					continue
 				}
 
@@ -198,5 +198,5 @@ func (s *ServiceCenterServer) Stop() {
 
 	backend.Registry().Close()
 
-	util.Logger().Warnf(nil, "service center stopped")
+	util.Logger().Warnf("service center stopped")
 }
diff --git a/server/service/event/instance_event_handler.go b/server/service/event/instance_event_handler.go
index b594e78e..b6605086 100644
--- a/server/service/event/instance_event_handler.go
+++ b/server/service/event/instance_event_handler.go
@@ -58,7 +58,7 @@ func (h *InstanceEventHandler) OnEvent(evt backend.KvEvent) {
 	}
 
 	if nf.GetNotifyService().Closed() {
-		util.Logger().Warnf(nil, "caught [%s] instance event %s/%s, but notify service is closed",
+		util.Logger().Warnf("caught [%s] instance event %s/%s, but notify service is closed",
 			action, providerId, providerInstanceId)
 		return
 	}
@@ -68,7 +68,7 @@ func (h *InstanceEventHandler) OnEvent(evt backend.KvEvent) {
 	ctx := util.SetContext(context.Background(), serviceUtil.CTX_CACHEONLY, "1")
 	ms, err := serviceUtil.GetService(ctx, domainProject, providerId)
 	if ms == nil {
-		util.Logger().Warnf(err, "get provider service %s/%s id in cache failed",
+		util.Logger().Errorf(err, "get provider service %s/%s id in cache failed",
 			providerId, providerInstanceId)
 		return
 	}
diff --git a/server/service/event/rule_event_handler.go b/server/service/event/rule_event_handler.go
index e0549233..e2bc6874 100644
--- a/server/service/event/rule_event_handler.go
+++ b/server/service/event/rule_event_handler.go
@@ -88,7 +88,7 @@ func (h *RuleEventHandler) OnEvent(evt backend.KvEvent) {
 
 	providerId, ruleId, domainProject := backend.GetInfoFromRuleKV(evt.KV)
 	if nf.GetNotifyService().Closed() {
-		util.Logger().Warnf(nil, "caught [%s] service rule event %s/%s, but notify service is closed",
+		util.Logger().Warnf("caught [%s] service rule event %s/%s, but notify service is closed",
 			action, providerId, ruleId)
 		return
 	}
diff --git a/server/service/event/tag_event_handler.go b/server/service/event/tag_event_handler.go
index 8ad62c39..aecf7cbc 100644
--- a/server/service/event/tag_event_handler.go
+++ b/server/service/event/tag_event_handler.go
@@ -75,7 +75,7 @@ func (apt *TagsChangedTask) publish(ctx context.Context, domainProject, consumer
 	for _, providerId := range providerIds {
 		provider, err := serviceUtil.GetService(ctx, domainProject, providerId)
 		if provider == nil {
-			util.Logger().Warnf(err, "get service %s file failed", providerId)
+			util.Logger().Errorf(err, "get service %s file failed", providerId)
 			continue
 		}
 		providerKey := pb.MicroServiceToKey(domainProject, provider)
@@ -101,7 +101,7 @@ func (h *TagEventHandler) OnEvent(evt backend.KvEvent) {
 	consumerId, domainProject := backend.GetInfoFromTagKV(evt.KV)
 
 	if nf.GetNotifyService().Closed() {
-		util.Logger().Warnf(nil, "caught [%s] service tags event %s/%s, but notify service is closed",
+		util.Logger().Warnf("caught [%s] service tags event %s/%s, but notify service is closed",
 			action, consumerId, evt.KV.Value)
 		return
 	}
diff --git a/server/service/instance.go b/server/service/instance.go
index 2ecc3dc8..fe1ef032 100644
--- a/server/service/instance.go
+++ b/server/service/instance.go
@@ -316,7 +316,7 @@ func (s *InstanceService) Heartbeat(ctx context.Context, in *pb.HeartbeatRequest
 	}
 
 	if ttl == 0 {
-		util.Logger().Warnf(errors.New("connect backend timed out"),
+		util.Logger().Errorf(errors.New("connect backend timed out"),
 			"heartbeat successful, but renew %s failed. operator: %s", instanceFlag, remoteIP)
 	} else {
 		util.Logger().Infof("heartbeat successful: %s renew ttl to %d. operator: %s", instanceFlag, ttl, remoteIP)
@@ -341,7 +341,7 @@ func (s *InstanceService) HeartbeatSet(ctx context.Context, in *pb.HeartbeatSetR
 	noMultiCounter := 0
 	for _, heartbeatElement := range in.Instances {
 		if _, ok := existFlag[heartbeatElement.ServiceId+heartbeatElement.InstanceId]; ok {
-			util.Logger().Warnf(nil, "heartbeat set %s/%s multiple", heartbeatElement.ServiceId, heartbeatElement.InstanceId)
+			util.Logger().Warnf("heartbeat set %s/%s multiple", heartbeatElement.ServiceId, heartbeatElement.InstanceId)
 			continue
 		} else {
 			existFlag[heartbeatElement.ServiceId+heartbeatElement.InstanceId] = true
diff --git a/server/service/microservice.go b/server/service/microservice.go
index 5a645783..cd88ff8e 100644
--- a/server/service/microservice.go
+++ b/server/service/microservice.go
@@ -158,7 +158,7 @@ func (s *MicroServiceService) CreateServicePri(ctx context.Context, in *pb.Creat
 	if !resp.Succeeded {
 		if s.isCreateServiceEx(in) == true {
 			serviceIdInner, _ := serviceUtil.GetServiceId(ctx, serviceKey)
-			util.Logger().Warnf(nil, "create micro-service failed, serviceId = %s , flag = %s: service already exists. operator: %s",
+			util.Logger().Warnf("create micro-service failed, serviceId = %s , flag = %s: service already exists. operator: %s",
 				serviceIdInner, serviceFlag, remoteIP)
 
 			return &pb.CreateServiceResponse{
@@ -167,7 +167,7 @@ func (s *MicroServiceService) CreateServicePri(ctx context.Context, in *pb.Creat
 			}, nil
 		}
 
-		util.Logger().Warnf(nil, "create micro-service failed, %s: service already exists. operator: %s",
+		util.Logger().Warnf("create micro-service failed, %s: service already exists. operator: %s",
 			serviceFlag, remoteIP)
 
 		return &pb.CreateServiceResponse{
@@ -362,7 +362,7 @@ func (s *MicroServiceService) DeleteServices(ctx context.Context, request *pb.De
 	for _, serviceId := range request.ServiceIds {
 		//ServiceId重复性检查
 		if _, ok := existFlag[serviceId]; ok {
-			util.Logger().Warnf(nil, "delete micro-service %s , multiple.", serviceId)
+			util.Logger().Warnf("delete micro-service %s , multiple.", serviceId)
 			continue
 		} else {
 			existFlag[serviceId] = true
@@ -597,7 +597,7 @@ func (s *MicroServiceService) Exist(ctx context.Context, in *pb.GetExistenceRequ
 		}
 
 		if !serviceUtil.ServiceExist(ctx, domainProject, in.ServiceId) {
-			util.Logger().Warnf(nil, "schema exist failed, serviceId %s, schemaId %s: service not exist.", in.ServiceId, in.SchemaId)
+			util.Logger().Warnf("schema exist failed, serviceId %s, schemaId %s: service not exist.", in.ServiceId, in.SchemaId)
 			return &pb.GetExistenceResponse{
 				Response: pb.CreateResponse(scerr.ErrServiceNotExists, "service does not exist."),
 			}, nil
@@ -630,7 +630,7 @@ func (s *MicroServiceService) Exist(ctx context.Context, in *pb.GetExistenceRequ
 			Summary:  schemaSummary,
 		}, nil
 	default:
-		util.Logger().Warnf(nil, "unexpected type '%s' for query.", in.Type)
+		util.Logger().Warnf("unexpected type '%s' for query.", in.Type)
 		return &pb.GetExistenceResponse{
 			Response: pb.CreateResponse(scerr.ErrInvalidParams, "Only micro-service and schema can be used as type."),
 		}, nil
diff --git a/server/service/notification/listwatcher.go b/server/service/notification/listwatcher.go
index 0877b27f..bffbb457 100644
--- a/server/service/notification/listwatcher.go
+++ b/server/service/notification/listwatcher.go
@@ -90,8 +90,7 @@ func (w *ListWatcher) OnMessage(job NotifyJob) {
 	}
 
 	if wJob.Revision <= w.ListRevision {
-		util.Logger().Warnf(nil,
-			"unexpected notify %s job is coming in, watcher %s %s, job is %v, current revision is %v",
+		util.Logger().Warnf("unexpected notify %s job is coming in, watcher %s %s, job is %v, current revision is %v",
 			w.Type(), w.Group(), w.Subject(), job, w.ListRevision)
 		return
 	}
diff --git a/server/service/notification/notification_service.go b/server/service/notification/notification_service.go
index 4f649815..8837396b 100644
--- a/server/service/notification/notification_service.go
+++ b/server/service/notification/notification_service.go
@@ -54,7 +54,7 @@ func (s *NotifyService) init() {
 
 func (s *NotifyService) Start() {
 	if !s.Closed() {
-		util.Logger().Warnf(nil, "notify service is already running")
+		util.Logger().Warnf("notify service is already running")
 		return
 	}
 	s.closeMux.Lock()
diff --git a/server/service/notification/websocket.go b/server/service/notification/websocket.go
index 85c5e2fd..00778ea9 100644
--- a/server/service/notification/websocket.go
+++ b/server/service/notification/websocket.go
@@ -174,7 +174,7 @@ func (wh *WebSocket) HandleWatchWebSocketJob(o interface{}) {
 	switch o.(type) {
 	case error:
 		err := o.(error)
-		util.Logger().Warnf(err, "watcher[%s] catch an err, subject: %s, group: %s",
+		util.Logger().Errorf(err, "watcher[%s] catch an err, subject: %s, group: %s",
 			remoteAddr, wh.watcher.Subject(), wh.watcher.Group())
 
 		message = util.StringToBytesWithNoCopy(fmt.Sprintf("watcher catch an err: %s", err.Error()))
diff --git a/server/service/schema.go b/server/service/schema.go
index 17b1f08c..182ce4f3 100644
--- a/server/service/schema.go
+++ b/server/service/schema.go
@@ -363,7 +363,7 @@ func modifySchemas(ctx context.Context, domainProject string, service *pb.MicroS
 					opts := schemaWithDatabaseOpera(registry.OpPut, domainProject, serviceId, needUpdateSchema)
 					pluginOps = append(pluginOps, opts...)
 				} else {
-					util.Logger().Warnf(nil, "schema and summary already exist, skip to update, serviceId %s, schemaId %s", serviceId, needUpdateSchema.SchemaId)
+					util.Logger().Warnf("schema and summary already exist, skip to update, serviceId %s, schemaId %s", serviceId, needUpdateSchema.SchemaId)
 				}
 			}
 		}
@@ -537,7 +537,7 @@ func (s *MicroServiceService) canModifySchema(ctx context.Context, domainProject
 		return errQuota
 	}
 	if len(in.Summary) == 0 {
-		util.Logger().Warnf(nil, "service %s schema %s summary is empty.", in.ServiceId, schemaId)
+		util.Logger().Warnf("service %s schema %s summary is empty.", in.ServiceId, schemaId)
 	}
 	return nil
 }
diff --git a/server/service/util/dependency_query.go b/server/service/util/dependency_query.go
index d7f10293..eab4c57d 100644
--- a/server/service/util/dependency_query.go
+++ b/server/service/util/dependency_query.go
@@ -85,7 +85,7 @@ func (dr *DependencyRelation) GetDependencyProviders(opts ...DependencyRelationF
 		for _, providerId := range providerIds {
 			provider, err := GetService(dr.ctx, key.Tenant, providerId)
 			if err != nil {
-				util.Logger().Warnf(nil, "Provider does not exist, %s/%s/%s",
+				util.Logger().Warnf("Provider does not exist, %s/%s/%s",
 					key.AppId, key.ServiceName, key.Version)
 				continue
 			}
@@ -146,7 +146,7 @@ func (dr *DependencyRelation) getDependencyProviderIds(providerRules []*pb.Micro
 				return provideServiceIds, err
 			}
 			if len(serviceIds) == 0 {
-				util.Logger().Warnf(nil, "Get providerIds is empty, service: %s/%s/%s does not exist",
+				util.Logger().Warnf("Get providerIds is empty, service: %s/%s/%s does not exist",
 					provider.AppId, provider.ServiceName, provider.Version)
 				continue
 			}
@@ -198,7 +198,7 @@ func (dr *DependencyRelation) GetDependencyConsumers(opts ...DependencyRelationF
 			return nil, err
 		}
 		if service == nil {
-			util.Logger().Warnf(nil, "Consumer does not exist, %v", consumer)
+			util.Logger().Warnf("Consumer does not exist, %v", consumer)
 			continue
 		}
 
@@ -217,7 +217,7 @@ func (dr *DependencyRelation) getServiceByMicroServiceKey(service *pb.MicroServi
 		return nil, err
 	}
 	if len(serviceId) == 0 {
-		util.Logger().Warnf(nil, "Service not exist,%v", service)
+		util.Logger().Warnf("Service not exist,%v", service)
 		return nil, nil
 	}
 	return GetService(dr.ctx, service.Tenant, serviceId)
@@ -236,7 +236,7 @@ func (dr *DependencyRelation) GetDependencyConsumerIds() ([]string, error) {
 			return nil, err
 		}
 		if len(consumerId) == 0 {
-			util.Logger().Warnf(nil, "Get consumer not exist, %v", consumer)
+			util.Logger().Warnf("Get consumer not exist, %v", consumer)
 			continue
 		}
 		consumerIds = append(consumerIds, consumerId)
diff --git a/server/service/util/instance_util.go b/server/service/util/instance_util.go
index 65c507e5..a523c61a 100644
--- a/server/service/util/instance_util.go
+++ b/server/service/util/instance_util.go
@@ -160,7 +160,7 @@ func DeleteServiceAllInstances(ctx context.Context, serviceId string) error {
 		return err
 	}
 	if resp.Count <= 0 {
-		util.Logger().Warnf(nil, "service %s has no deployment of instance.", serviceId)
+		util.Logger().Warnf("service %s has no deployment of instance.", serviceId)
 		return nil
 	}
 	for _, v := range resp.Kvs {
diff --git a/server/service/util/rule_util.go b/server/service/util/rule_util.go
index 246dada3..3d768553 100644
--- a/server/service/util/rule_util.go
+++ b/server/service/util/rule_util.go
@@ -235,7 +235,7 @@ func patternBlackList(rulesOfProvider []*pb.ServiceRule, tagsOfConsumer map[stri
 
 		match, _ := regexp.MatchString(rule.Pattern, value)
 		if match {
-			util.Logger().Warnf(nil, "no permission to access, consumer %s match black list, rule.Pattern is %s, value is %s",
+			util.Logger().Warnf("no permission to access, consumer %s match black list, rule.Pattern is %s, value is %s",
 				consumerId, rule.Pattern, value)
 			return scerr.NewError(scerr.ErrPermissionDeny, "Found in black list")
 		}
diff --git a/server/service/validate.go b/server/service/validate.go
index f41003db..f6b9c2de 100644
--- a/server/service/validate.go
+++ b/server/service/validate.go
@@ -91,7 +91,7 @@ func Validate(v interface{}) error {
 	case *pb.GetAppsRequest:
 		return MicroServiceKeyValidator().Validate(v)
 	default:
-		util.Logger().Warnf(nil, "No validator for %T.", t)
+		util.Logger().Warnf("No validator for %T.", t)
 		return nil
 	}
 }


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services