Upgrade go-chassis (#125)

diff --git a/conf/chassis.yaml b/conf/chassis.yaml
index c0a03ac..a5a80e8 100644
--- a/conf/chassis.yaml
+++ b/conf/chassis.yaml
@@ -1,5 +1,5 @@
 ---
-cse:
+servicecomb:
   protocols:
     grpc:
       listenAddress: 127.0.0.1:40101
@@ -7,13 +7,12 @@
       listenAddress: 127.0.0.1:30101
     rest-admin:
       listenAddress: 127.0.0.1:30102 # listen addr use to adminAPI
-  service:
-    registry:
-      address: http://127.0.0.1:30100 # uri of service center
-      #address: https://cse.cn-north-1.myhuaweicloud.com:443 # uri of service center
-      scope: full #set full to be able to discover other app's service
-      watch: false # set if you want to watch instance change event
-      autoIPIndex: true # set to true if u want to resolve source IP to microservice
+  registry:
+    address: http://127.0.0.1:30100 # uri of service center
+    #address: https://cse.cn-north-1.myhuaweicloud.com:443 # uri of service center
+    scope: full #set full to be able to discover other app's service
+    watch: false # set if you want to watch instance change event
+    autoIPIndex: true # set to true if u want to resolve source IP to microservice
   #  config:
   #    client:
   #      serverUri: https://cse.cn-north-1.myhuaweicloud.com:443 #uri of config center
diff --git a/conf/fault.yaml b/conf/fault.yaml
index d55c9e7..2d79e0d 100644
--- a/conf/fault.yaml
+++ b/conf/fault.yaml
@@ -1,4 +1,4 @@
-#cse:
+#servicecomb:
 #  governance:
 #    Consumer:
 #      _global: #最低优先级配置
diff --git a/conf/microservice.yaml b/conf/microservice.yaml
index b093280..1fba8fe 100644
--- a/conf/microservice.yaml
+++ b/conf/microservice.yaml
@@ -1,7 +1,8 @@
 ## microservice property
-service_description:
-  name: hellomesher
-  version: 0.0.1
-  environment:  #microservice environment
-  properties:
-    allowCrossApp: false #whether to allow calls across applications
+servicecomb:
+  service:
+    name: hellomesher
+    version: 0.0.1
+    environment:  #microservice environment
+    properties:
+      allowCrossApp: false #whether to allow calls across applications
diff --git a/docker/edge/chassis.yaml b/docker/edge/chassis.yaml
index 974dbd4..fd2e2ff 100644
--- a/docker/edge/chassis.yaml
+++ b/docker/edge/chassis.yaml
@@ -14,7 +14,7 @@
 # limitations under the License.
 
 ---
-cse:
+servicecomb:
   protocols:
     http:
       listenAddress: 127.0.0.1:30101
diff --git a/docker/edge/microservice.yaml b/docker/edge/microservice.yaml
index 7b49d0c..0b48cec 100644
--- a/docker/edge/microservice.yaml
+++ b/docker/edge/microservice.yaml
@@ -13,6 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-service_description:
-  name: mesher-edge
-  version: 1.7.0
+servicecomb:
+  service:
+    name: mesher-edge
+    version: 1.7.0
diff --git a/examples/config/cse/conf/chassis.yaml b/examples/config/cse/conf/chassis.yaml
index 52f5d3d..3bc2b8e 100644
--- a/examples/config/cse/conf/chassis.yaml
+++ b/examples/config/cse/conf/chassis.yaml
@@ -1,5 +1,5 @@
 ---
-cse:
+servicecomb:
   protocols:
     http:
       listenAddress: 127.0.0.1:30101
diff --git a/examples/config/cse/conf/fault.yaml b/examples/config/cse/conf/fault.yaml
index d55c9e7..2d79e0d 100644
--- a/examples/config/cse/conf/fault.yaml
+++ b/examples/config/cse/conf/fault.yaml
@@ -1,4 +1,4 @@
-#cse:
+#servicecomb:
 #  governance:
 #    Consumer:
 #      _global: #最低优先级配置
diff --git a/examples/config/cse/conf/microservice.yaml b/examples/config/cse/conf/microservice.yaml
index 2a09f94..14e11a8 100644
--- a/examples/config/cse/conf/microservice.yaml
+++ b/examples/config/cse/conf/microservice.yaml
@@ -1,8 +1,9 @@
 ## microservice property
-APPLICATION_ID: mesher
-service_description:
-  name: hellomesher
-  version: 0.0.1
-  environment:  #microservice environment
-  properties:
-    allowCrossApp: false #whether to allow calls across applications
+servicecomb:
+  service:
+    app: mesher
+    name: hellomesher
+    version: 0.0.1
+    environment:  #microservice environment
+    properties:
+      allowCrossApp: false #whether to allow calls across applications
diff --git a/examples/edge/conf/chassis.yaml b/examples/edge/conf/chassis.yaml
index 214bcf6..a8cbd6c 100644
--- a/examples/edge/conf/chassis.yaml
+++ b/examples/edge/conf/chassis.yaml
@@ -1,5 +1,5 @@
 ---
-cse:
+servicecomb:
   protocols:
     http:
       listenAddress: 127.0.0.1:30101
diff --git a/examples/edge/conf/microservice.yaml b/examples/edge/conf/microservice.yaml
index 0aba6be..d705174 100644
--- a/examples/edge/conf/microservice.yaml
+++ b/examples/edge/conf/microservice.yaml
@@ -1,3 +1,4 @@
-service_description:
-  name: mesher-edge
-  version: 1.7.0
+servicecomb:
+  service:
+    name: mesher-edge
+    version: 1.7.0
diff --git a/examples/quick_start/mersher_calculator/conf/chassis.yaml b/examples/quick_start/mersher_calculator/conf/chassis.yaml
index 21deed6..0edf916 100644
--- a/examples/quick_start/mersher_calculator/conf/chassis.yaml
+++ b/examples/quick_start/mersher_calculator/conf/chassis.yaml
@@ -1,5 +1,5 @@
 ---
-cse:
+servicecomb:
   protocols:
     grpc:
       listenAddress: 192.168.88.64:40107
diff --git a/examples/quick_start/mersher_calculator/conf/fault.yaml b/examples/quick_start/mersher_calculator/conf/fault.yaml
index d55c9e7..2d79e0d 100644
--- a/examples/quick_start/mersher_calculator/conf/fault.yaml
+++ b/examples/quick_start/mersher_calculator/conf/fault.yaml
@@ -1,4 +1,4 @@
-#cse:
+#servicecomb:
 #  governance:
 #    Consumer:
 #      _global: #最低优先级配置
diff --git a/examples/quick_start/mersher_calculator/conf/microservice.yaml b/examples/quick_start/mersher_calculator/conf/microservice.yaml
index e119ec9..90662ca 100644
--- a/examples/quick_start/mersher_calculator/conf/microservice.yaml
+++ b/examples/quick_start/mersher_calculator/conf/microservice.yaml
@@ -1,7 +1,8 @@
 ## microservice property
-service_description:
-  name: calculator
-  version: 1.1.1
-  environment:  #microservice environment
-  properties:
-    allowCrossApp: true #whether to allow calls across applications
+servicecomb:
+  service:
+    name: calculator
+    version: 1.1.1
+    environment:  #microservice environment
+    properties:
+      allowCrossApp: true #whether to allow calls across applications
diff --git a/examples/quick_start/mersher_webapp/conf/chassis.yaml b/examples/quick_start/mersher_webapp/conf/chassis.yaml
index 4c02d2c..81f86a9 100644
--- a/examples/quick_start/mersher_webapp/conf/chassis.yaml
+++ b/examples/quick_start/mersher_webapp/conf/chassis.yaml
@@ -1,5 +1,5 @@
 ---
-cse:
+servicecomb:
   protocols:
     grpc:
       listenAddress: 192.168.88.64:40101
diff --git a/examples/quick_start/mersher_webapp/conf/fault.yaml b/examples/quick_start/mersher_webapp/conf/fault.yaml
index d55c9e7..2d79e0d 100644
--- a/examples/quick_start/mersher_webapp/conf/fault.yaml
+++ b/examples/quick_start/mersher_webapp/conf/fault.yaml
@@ -1,4 +1,4 @@
-#cse:
+#servicecomb:
 #  governance:
 #    Consumer:
 #      _global: #最低优先级配置
diff --git a/examples/quick_start/mersher_webapp/conf/microservice.yaml b/examples/quick_start/mersher_webapp/conf/microservice.yaml
index a5640d6..942771c 100644
--- a/examples/quick_start/mersher_webapp/conf/microservice.yaml
+++ b/examples/quick_start/mersher_webapp/conf/microservice.yaml
@@ -1,7 +1,8 @@
 ## microservice property
-service_description:
-  name: webapp
-  version: 0.0.1
-  environment:  #microservice environment
-  properties:
-    allowCrossApp: true #whether to allow calls across applications
+servicecomb:
+  service:
+    name: webapp
+    version: 0.0.1
+    environment:  #microservice environment
+    properties:
+      allowCrossApp: true #whether to allow calls across applications
diff --git a/examples/quick_start/test_balance/mersher_calculator/conf/chassis.yaml b/examples/quick_start/test_balance/mersher_calculator/conf/chassis.yaml
index 71f12fd..e92ca2e 100644
--- a/examples/quick_start/test_balance/mersher_calculator/conf/chassis.yaml
+++ b/examples/quick_start/test_balance/mersher_calculator/conf/chassis.yaml
@@ -1,5 +1,5 @@
 ---
-cse:
+servicecomb:
   protocols:
     grpc:
       listenAddress: 192.168.88.64:40102
diff --git a/examples/quick_start/test_balance/mersher_calculator/conf/fault.yaml b/examples/quick_start/test_balance/mersher_calculator/conf/fault.yaml
index d55c9e7..2d79e0d 100644
--- a/examples/quick_start/test_balance/mersher_calculator/conf/fault.yaml
+++ b/examples/quick_start/test_balance/mersher_calculator/conf/fault.yaml
@@ -1,4 +1,4 @@
-#cse:
+#servicecomb:
 #  governance:
 #    Consumer:
 #      _global: #最低优先级配置
diff --git a/examples/quick_start/test_balance/mersher_calculator/conf/microservice.yaml b/examples/quick_start/test_balance/mersher_calculator/conf/microservice.yaml
index e119ec9..90662ca 100644
--- a/examples/quick_start/test_balance/mersher_calculator/conf/microservice.yaml
+++ b/examples/quick_start/test_balance/mersher_calculator/conf/microservice.yaml
@@ -1,7 +1,8 @@
 ## microservice property
-service_description:
-  name: calculator
-  version: 1.1.1
-  environment:  #microservice environment
-  properties:
-    allowCrossApp: true #whether to allow calls across applications
+servicecomb:
+  service:
+    name: calculator
+    version: 1.1.1
+    environment:  #microservice environment
+    properties:
+      allowCrossApp: true #whether to allow calls across applications
diff --git a/go.mod b/go.mod
index 4310b22..ac8bdd6 100644
--- a/go.mod
+++ b/go.mod
@@ -3,24 +3,25 @@
 require (
 	github.com/envoyproxy/go-control-plane v0.6.0
 	github.com/ghodss/yaml v1.0.0
-	github.com/go-chassis/foundation v0.1.1-0.20191113114104-2b05871e9ec4
-	github.com/go-chassis/go-archaius v1.3.2
-	github.com/go-chassis/go-chassis v1.8.2-0.20200728122719-5c6c673368c5
+	github.com/go-chassis/foundation v0.1.1-0.20200825060850-b16bf420f7b3
+	github.com/go-chassis/go-archaius v1.3.3
+	github.com/go-chassis/go-chassis v1.8.2-0.20200831084354-7ac56be1a686
 	github.com/go-chassis/gohessian v0.0.0-20180702061429-e5130c25af55
+	github.com/go-chassis/openlog v1.1.1
 	github.com/go-mesh/openlogging v1.0.1
 	github.com/gogo/googleapis v1.3.1 // indirect
 	github.com/gogo/protobuf v1.3.0
 	github.com/lyft/protoc-gen-validate v0.1.0 // indirect
 	github.com/patrickmn/go-cache v2.1.0+incompatible
 	github.com/prometheus/client_golang v0.9.1
-	github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f
-	github.com/stretchr/testify v1.4.0
+	github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4
+	github.com/stretchr/testify v1.5.1
 	github.com/tetratelabs/go2sky v0.1.1-0.20190703154722-1eaab8035277
 	github.com/urfave/cli v1.20.1-0.20181029213200-b67dcf995b6a
-	golang.org/x/net v0.0.0-20191004110552-13f9640d40b9
+	golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7
 	golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45
-	google.golang.org/grpc v1.19.1
-	gopkg.in/yaml.v2 v2.2.4
+	google.golang.org/grpc v1.27.0
+	gopkg.in/yaml.v2 v2.3.0
 	k8s.io/apimachinery v0.17.0
 	k8s.io/client-go v0.17.0
 )
diff --git a/proxy/bootstrap/bootstrap.go b/proxy/bootstrap/bootstrap.go
index 5295043..60bb876 100644
--- a/proxy/bootstrap/bootstrap.go
+++ b/proxy/bootstrap/bootstrap.go
@@ -18,6 +18,7 @@
 package bootstrap
 
 import (
+	"fmt"
 	"log"
 	"strings"
 
@@ -38,6 +39,7 @@
 	chassisHandler "github.com/go-chassis/go-chassis/core/handler"
 	"github.com/go-chassis/go-chassis/core/lager"
 	"github.com/go-chassis/go-chassis/core/metadata"
+	"github.com/go-chassis/openlog"
 	"github.com/go-mesh/openlogging"
 )
 
@@ -56,7 +58,7 @@
 		return err
 	}
 	if err := metrics.Init(); err != nil {
-		lager.Logger.Infof("metrics init error", err)
+		lager.Logger.Info("metrics init error", openlog.WithTags(openlog.Tags{"err": err}))
 	}
 	if err := v1.Init(); err != nil {
 		log.Println("Error occurred in starting admin server", err)
@@ -65,9 +67,9 @@
 		return err
 	}
 	if cmd.Configs.LocalServicePorts == "" {
-		lager.Logger.Warnf("local service ports is missing, service can not be called by mesher")
+		lager.Logger.Warn("local service ports is missing, service can not be called by mesher")
 	} else {
-		lager.Logger.Infof("local service ports is [%v]", cmd.Configs.PortsMap)
+		lager.Logger.Info(fmt.Sprintf("local service ports is [%v]", cmd.Configs.PortsMap))
 	}
 	err := egress.Init()
 	if err != nil {
diff --git a/proxy/bootstrap/bootstrap_test.go b/proxy/bootstrap/bootstrap_test.go
index e853751..29df15c 100644
--- a/proxy/bootstrap/bootstrap_test.go
+++ b/proxy/bootstrap/bootstrap_test.go
@@ -76,7 +76,7 @@
 		Listen: "127.0.0.1:90909",
 	}
 	config.GlobalDefinition = &model.GlobalCfg{
-		Cse: model.CseStruct{
+		ServiceComb: model.ServiceComb{
 			Protocols: protoMap,
 		},
 	}
@@ -112,7 +112,7 @@
 
 	t.Run("Test Start", func(t *testing.T) {
 		// case Protocols is empty
-		config.GlobalDefinition.Cse.Protocols = map[string]model.Protocol{}
+		config.GlobalDefinition.ServiceComb.Protocols = map[string]model.Protocol{}
 		err := Start()
 		assert.Error(t, err)
 
diff --git a/proxy/config/config.go b/proxy/config/config.go
index 1c05f57..60e1d1f 100644
--- a/proxy/config/config.go
+++ b/proxy/config/config.go
@@ -76,8 +76,8 @@
 //InitProtocols initiates protocols
 func InitProtocols() error {
 	// todo if sdk init failed, do not call the data
-	if len(config.GlobalDefinition.Cse.Protocols) == 0 {
-		config.GlobalDefinition.Cse.Protocols = map[string]model.Protocol{
+	if len(config.GlobalDefinition.ServiceComb.Protocols) == 0 {
+		config.GlobalDefinition.ServiceComb.Protocols = map[string]model.Protocol{
 			common.HTTPProtocol: {Listen: "127.0.0.1:30101"},
 		}
 
diff --git a/proxy/handler/oauth2/oauth2_handler_test.go b/proxy/handler/oauth2/oauth2_handler_test.go
index 39548df..95d6d95 100644
--- a/proxy/handler/oauth2/oauth2_handler_test.go
+++ b/proxy/handler/oauth2/oauth2_handler_test.go
@@ -37,8 +37,8 @@
 func initInv() *invocation.Invocation {
 
 	config.GlobalDefinition = &model.GlobalCfg{}
-	config.GlobalDefinition.Cse.Handler.Chain.Provider = make(map[string]string)
-	config.GlobalDefinition.Cse.Handler.Chain.Provider["outgoing"] = AuthName
+	config.GlobalDefinition.ServiceComb.Handler.Chain.Provider = make(map[string]string)
+	config.GlobalDefinition.ServiceComb.Handler.Chain.Provider["outgoing"] = AuthName
 
 	var i *invocation.Invocation
 
diff --git a/proxy/handler/port_rewrite_test.go b/proxy/handler/port_rewrite_test.go
index eb1bcf1..846879f 100644
--- a/proxy/handler/port_rewrite_test.go
+++ b/proxy/handler/port_rewrite_test.go
@@ -35,8 +35,8 @@
 	c.AddHandler(&PortSelectionHandler{})
 
 	config.GlobalDefinition = &model.GlobalCfg{}
-	config.GlobalDefinition.Cse.Handler.Chain.Consumer = make(map[string]string)
-	config.GlobalDefinition.Cse.Handler.Chain.Consumer["outgoing"] = PortMapForPilot
+	config.GlobalDefinition.ServiceComb.Handler.Chain.Consumer = make(map[string]string)
+	config.GlobalDefinition.ServiceComb.Handler.Chain.Consumer["outgoing"] = PortMapForPilot
 	i := &invocation.Invocation{
 		MicroServiceName: "service1",
 		SchemaID:         "schema1",
@@ -56,8 +56,8 @@
 	c.AddHandler(&PortSelectionHandler{})
 
 	config.GlobalDefinition = &model.GlobalCfg{}
-	config.GlobalDefinition.Cse.Handler.Chain.Consumer = make(map[string]string)
-	config.GlobalDefinition.Cse.Handler.Chain.Consumer["outgoing"] = PortMapForPilot
+	config.GlobalDefinition.ServiceComb.Handler.Chain.Consumer = make(map[string]string)
+	config.GlobalDefinition.ServiceComb.Handler.Chain.Consumer["outgoing"] = PortMapForPilot
 	i := &invocation.Invocation{
 		MicroServiceName: "service1",
 		SchemaID:         "schema1",
diff --git a/proxy/handler/skywalking_handler_test.go b/proxy/handler/skywalking_handler_test.go
index be6ded6..efc1cb5 100644
--- a/proxy/handler/skywalking_handler_test.go
+++ b/proxy/handler/skywalking_handler_test.go
@@ -37,8 +37,8 @@
 
 //initGcConfig
 func initGcConfig() {
-	var micCfg model.MicroserviceCfg
-	micCfg.ServiceDescription.Name = "TEST"
+	var micCfg model.ServiceSpec
+	micCfg.Name = "TEST"
 	gcconfig.MicroserviceDefinition = &micCfg
 }
 
@@ -79,8 +79,8 @@
 	c.AddHandler(mhandler.NewSkyWalkingProvier())
 
 	gcconfig.GlobalDefinition = &model.GlobalCfg{}
-	gcconfig.GlobalDefinition.Cse.Handler.Chain.Consumer = make(map[string]string)
-	gcconfig.GlobalDefinition.Cse.Handler.Chain.Consumer["skywalking-provider"] = "skywalking-provider"
+	gcconfig.GlobalDefinition.ServiceComb.Handler.Chain.Consumer = make(map[string]string)
+	gcconfig.GlobalDefinition.ServiceComb.Handler.Chain.Consumer["skywalking-provider"] = "skywalking-provider"
 
 	c.Next(initInv(), func(r *invocation.Response) {
 		assert.Equal(t, r.Err, nil)
@@ -109,8 +109,8 @@
 	c.AddHandler(mhandler.NewSkyWalkingConsumer())
 
 	gcconfig.GlobalDefinition = &model.GlobalCfg{}
-	gcconfig.GlobalDefinition.Cse.Handler.Chain.Consumer = make(map[string]string)
-	gcconfig.GlobalDefinition.Cse.Handler.Chain.Consumer["skywalking-consumer"] = "skywalking-consumer"
+	gcconfig.GlobalDefinition.ServiceComb.Handler.Chain.Consumer = make(map[string]string)
+	gcconfig.GlobalDefinition.ServiceComb.Handler.Chain.Consumer["skywalking-consumer"] = "skywalking-consumer"
 
 	c.Next(initInv(), func(r *invocation.Response) {
 		assert.Equal(t, r.Err, nil)
diff --git a/proxy/health/health.go b/proxy/health/health.go
index d0a4dd8..2eb673f 100644
--- a/proxy/health/health.go
+++ b/proxy/health/health.go
@@ -19,6 +19,7 @@
 
 import (
 	"errors"
+	"fmt"
 	"github.com/apache/servicecomb-mesher/proxy/config"
 	"github.com/go-chassis/go-chassis/core/lager"
 	"github.com/go-chassis/go-chassis/core/registry"
@@ -101,7 +102,7 @@
 		for range ticker.C {
 			err := CheckService(c, l7check, address)
 			if err != nil {
-				lager.Logger.Errorf("health check failed for service port[%s]: %s", c.Port, err)
+				lager.Logger.Error(fmt.Sprintf("health check failed for service port[%s]: %s", c.Port, err))
 			}
 			deal(err)
 		}
@@ -111,7 +112,7 @@
 
 //CheckService check service health based on config
 func CheckService(c *config.HealthCheck, l7check L7Check, address string) error {
-	lager.Logger.Debugf("check port [%s]", c.Port)
+	lager.Logger.Debug(fmt.Sprintf("check port [%s]", c.Port))
 	if l7check != nil {
 		if err := l7check(c, address); err != nil {
 			return err
@@ -141,7 +142,7 @@
 func Run() error {
 	openlogging.Info("local health manager start")
 	for _, v := range config.GetConfig().HealthCheck {
-		lager.Logger.Debugf("check local health [%s],protocol [%s]", v.Port, v.Protocol)
+		lager.Logger.Debug(fmt.Sprintf("check local health [%s],protocol [%s]", v.Port, v.Protocol))
 		address, check, err := ParseConfig(v)
 		if err != nil {
 			lager.Logger.Warn("Health keeper can not check health")
diff --git a/proxy/pkg/egress/archaius/egress_manager.go b/proxy/pkg/egress/archaius/egress_manager.go
index fb16c41..4c48c65 100644
--- a/proxy/pkg/egress/archaius/egress_manager.go
+++ b/proxy/pkg/egress/archaius/egress_manager.go
@@ -18,6 +18,7 @@
 package archaius
 
 import (
+	"fmt"
 	"github.com/go-chassis/go-archaius/event"
 	"github.com/go-chassis/go-archaius/source/util"
 	"gopkg.in/yaml.v2"
@@ -47,7 +48,7 @@
 	}
 	v := archaius.Get(e.Key)
 	if v == nil {
-		lager.Logger.Infof("[%s] Error getting egress key", e.Key)
+		lager.Logger.Info(fmt.Sprintf("[%s] Error getting egress key", e.Key))
 		return
 	}
 
@@ -70,7 +71,7 @@
 	}
 
 	SetEgressRule(map[string][]*config.EgressRule{e.Key: egressRules})
-	lager.Logger.Infof("Update [%s] egress rule SUCCESS", e.Key)
+	lager.Logger.Info(fmt.Sprintf("Update [%s] egress rule SUCCESS", e.Key))
 }
 
 // initialize the config mgr and add several sources
@@ -78,11 +79,11 @@
 	egressListener := &egressRuleEventListener{}
 	err := archaius.AddFile(filepath.Join(fileutil.GetConfDir(), EgressYaml), archaius.WithFileHandler(util.UseFileNameAsKeyContentAsValue))
 	if err != nil {
-		lager.Logger.Infof("Archaius add file failed: ", err)
+		lager.Logger.Info(fmt.Sprint("Archaius add file failed: ", err))
 	}
 	err = archaius.RegisterListener(egressListener, ".*")
 	if err != nil {
-		lager.Logger.Infof("Archaius add file failed: ", err)
+		lager.Logger.Info(fmt.Sprint("Archaius add file failed: ", err))
 	}
 	return nil
 }
diff --git a/proxy/pkg/egress/pilot/pilotsource.go b/proxy/pkg/egress/pilot/pilotsource.go
index 98ed324..46d0a82 100644
--- a/proxy/pkg/egress/pilot/pilotsource.go
+++ b/proxy/pkg/egress/pilot/pilotsource.go
@@ -22,6 +22,7 @@
 	"fmt"
 	"github.com/go-chassis/go-archaius/event"
 	"github.com/go-chassis/go-archaius/source"
+	"github.com/go-chassis/openlog"
 	"os"
 	"reflect"
 	"strconv"
@@ -79,7 +80,7 @@
 	if err != nil {
 		return err
 	}
-	lager.Logger.Infof("New [%s] source success", s.GetSourceName())
+	lager.Logger.Info(fmt.Sprintf("New [%s] source success", s.GetSourceName()))
 	return pilotfetcher.AddSource(s)
 }
 
@@ -173,7 +174,7 @@
 	var egressRules []*config.EgressRule
 	for _, cluster := range clusters {
 
-		if cluster.Type == clusteroriginaldst {
+		if cluster.GetType() == clusteroriginaldst {
 			data := strings.Split(cluster.Name, "|")
 			if len(data) > 1 && data[0] == OUTBOUND {
 				intport, err := strconv.Atoi(data[1])
@@ -229,11 +230,11 @@
 			}
 			events, err := r.populateEvents(data)
 			if err != nil {
-				lager.Logger.Warnf("populate event error", err)
+				lager.Logger.Warn("populate event error", openlog.WithTags(openlog.Tags{"err": err}))
 				return err
 			}
 			//Generate OnEvent Callback based on the events created
-			lager.Logger.Debugf("event On receive %+v", events)
+			lager.Logger.Debug(fmt.Sprintf("event On receive %+v", events))
 			for _, event := range events {
 				callback.OnEvent(event)
 			}
@@ -321,6 +322,6 @@
 	ok, _ = egress.ValidateEgressRule(map[string][]*config.EgressRule{e.Key: egressRules})
 	if ok {
 		istio.SaveToEgressCache(map[string][]*config.EgressRule{e.Key: egressRules})
-		lager.Logger.Infof("Update [%s] egress rule of pilot success", e.Key)
+		lager.Logger.Info(fmt.Sprintf("Update [%s] egress rule of pilot success", e.Key))
 	}
 }
diff --git a/proxy/pkg/infras/istio/xds.go b/proxy/pkg/infras/istio/xds.go
index 8e2c442..8a57ba9 100644
--- a/proxy/pkg/infras/istio/xds.go
+++ b/proxy/pkg/infras/istio/xds.go
@@ -30,7 +30,7 @@
 	apiv2endpoint "github.com/envoyproxy/go-control-plane/envoy/api/v2/endpoint"
 	apiv2route "github.com/envoyproxy/go-control-plane/envoy/api/v2/route"
 
-	"github.com/envoyproxy/go-control-plane/envoy/service/discovery/v2"
+	v2 "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v2"
 	"github.com/go-mesh/openlogging"
 	"github.com/gogo/protobuf/proto"
 	"google.golang.org/grpc"
@@ -303,13 +303,13 @@
 }
 
 //GetEndpointsByTags fetches the cluster's endpoints with tags. The tags is usually specified in a DestinationRule.
-func (client *XdsClient) GetEndpointsByTags(serviceName string, tags map[string]string) ([]apiv2endpoint.LbEndpoint, string, error) {
+func (client *XdsClient) GetEndpointsByTags(serviceName string, tags map[string]string) ([]*apiv2endpoint.LbEndpoint, string, error) {
 	clusters, err := client.CDS()
 	if err != nil {
 		return nil, "", err
 	}
 
-	lbendpoints := []apiv2endpoint.LbEndpoint{}
+	lbendpoints := []*apiv2endpoint.LbEndpoint{}
 	clusterName := ""
 	for _, cluster := range clusters {
 		clusterInfo := ParseClusterName(cluster.Name)
@@ -347,7 +347,7 @@
 }
 
 //RDS is the Router Discovery Service API, it returns the virtual hosts which contains Routes
-func (client *XdsClient) RDS(clusterName string) ([]apiv2route.VirtualHost, error) {
+func (client *XdsClient) RDS(clusterName string) ([]*apiv2route.VirtualHost, error) {
 	clusterInfo := ParseClusterName(clusterName)
 	if clusterInfo == nil {
 		return nil, fmt.Errorf("Invalid clusterName for routers: %s", clusterName)
@@ -384,7 +384,7 @@
 	client.setVersionInfo(TypeRds, resp.GetVersionInfo())
 
 	var route apiv2.RouteConfiguration
-	virtualHosts := []apiv2route.VirtualHost{}
+	virtualHosts := []*apiv2route.VirtualHost{}
 
 	for _, res := range resources {
 		if err := proto.Unmarshal(res.GetValue(), &route); err != nil {
diff --git a/proxy/pkg/metrics/prometheus_exporter.go b/proxy/pkg/metrics/prometheus_exporter.go
index d1dfc3e..864e611 100644
--- a/proxy/pkg/metrics/prometheus_exporter.go
+++ b/proxy/pkg/metrics/prometheus_exporter.go
@@ -18,6 +18,7 @@
 package metrics
 
 import (
+	"fmt"
 	"github.com/go-chassis/go-chassis/core/lager"
 	"github.com/go-chassis/go-chassis/pkg/metrics"
 	"github.com/prometheus/client_golang/prometheus"
@@ -127,6 +128,6 @@
 	if r := recover(); r != nil {
 		pc := make([]uintptr, 10)
 		runtime.Callers(1, pc)
-		lager.Logger.Warnf("panics while registering metric [%s] to prometheus %s", metricName, r)
+		lager.Logger.Warn(fmt.Sprintf("panics while registering metric [%s] to prometheus %s", metricName, r))
 	}
 }
diff --git a/proxy/pkg/skywalking/skywalking_manager.go b/proxy/pkg/skywalking/skywalking_manager.go
index 27bdf71..a660528 100644
--- a/proxy/pkg/skywalking/skywalking_manager.go
+++ b/proxy/pkg/skywalking/skywalking_manager.go
@@ -70,7 +70,7 @@
 	if err != nil {
 		openlogging.GetLogger().Errorf("NewGRPCReporter error:%s ", err.Error())
 	}
-	tracer, err = go2sky.NewTracer(gcconfig.MicroserviceDefinition.ServiceDescription.Name, go2sky.WithReporter(r))
+	tracer, err = go2sky.NewTracer(gcconfig.MicroserviceDefinition.Name, go2sky.WithReporter(r))
 	if err != nil {
 		openlogging.GetLogger().Errorf("NewTracer error " + err.Error())
 	}
diff --git a/proxy/pkg/skywalking/skywalking_manager_test.go b/proxy/pkg/skywalking/skywalking_manager_test.go
index e722c44..19e143c 100644
--- a/proxy/pkg/skywalking/skywalking_manager_test.go
+++ b/proxy/pkg/skywalking/skywalking_manager_test.go
@@ -35,8 +35,8 @@
 
 //initConfig
 func initConfig() {
-	var micCfg model.MicroserviceCfg
-	micCfg.ServiceDescription.Name = "TEST"
+	var micCfg model.ServiceSpec
+	micCfg.Name = "TEST"
 	gcconfig.MicroserviceDefinition = &micCfg
 }
 
diff --git a/proxy/plugins/registry/istiov2/cache.go b/proxy/plugins/registry/istiov2/cache.go
index f8e609e..9d7c07f 100644
--- a/proxy/plugins/registry/istiov2/cache.go
+++ b/proxy/plugins/registry/istiov2/cache.go
@@ -18,6 +18,7 @@
 package istiov2
 
 import (
+	"fmt"
 	"strconv"
 	"strings"
 	"sync"
@@ -61,7 +62,7 @@
 	} else {
 		timeValue, err := time.ParseDuration(refreshInterval)
 		if err != nil {
-			lager.Logger.Errorf("refeshInterval is invalid. So use Default value: %s", err.Error())
+			lager.Logger.Error(fmt.Sprintf("refeshInterval is invalid. So use Default value: %s", err.Error()))
 			timeValue = DefaultRefreshInterval
 		}
 
@@ -77,22 +78,22 @@
 func (cm *CacheManager) refreshCache() {
 	// TODO What is the design of autodiscovery
 	if archaius.GetBool("cse.service.registry.autodiscovery", false) {
-		lager.Logger.Errorf("SyncPilotEndpoints failed: not supported")
+		lager.Logger.Error("SyncPilotEndpoints failed: not supported")
 	}
 
 	err := cm.pullMicroserviceInstance()
 	if err != nil {
-		lager.Logger.Errorf("AutoUpdateMicroserviceInstance failed: %s", err.Error())
+		lager.Logger.Error(fmt.Sprintf("AutoUpdateMicroserviceInstance failed: %s", err.Error()))
 	}
 
 	if archaius.GetBool("cse.service.registry.autoSchemaIndex", false) {
-		lager.Logger.Errorf("MakeSchemaIndex failed: Not support operation")
+		lager.Logger.Error("MakeSchemaIndex failed: Not support operation")
 	}
 
 	if archaius.GetBool("cse.service.registry.autoIPIndex", false) {
 		err = cm.MakeIPIndex()
 		if err != nil {
-			lager.Logger.Errorf("Auto Update IP index failed: %s", err.Error())
+			lager.Logger.Error(fmt.Sprintf("Auto Update IP index failed: %s", err.Error()))
 		}
 	}
 }
diff --git a/proxy/protocol/dubbo/client/chassis/dubbo_chassis_client.go b/proxy/protocol/dubbo/client/chassis/dubbo_chassis_client.go
index f878992..f3cb59f 100644
--- a/proxy/protocol/dubbo/client/chassis/dubbo_chassis_client.go
+++ b/proxy/protocol/dubbo/client/chassis/dubbo_chassis_client.go
@@ -79,7 +79,7 @@
 	dubboCli, err := dubboClient.CachedClients.GetClient(endPoint, c.opts.Timeout)
 	if err != nil {
 		resp.Resp.DubboRPCResult.SetException(fmt.Sprintf("Invalid Request addr %s %s", endPoint, err))
-		lager.Logger.Errorf("Invalid Request addr %s %s", endPoint, err)
+		lager.Logger.Error(fmt.Sprintf("Invalid Request addr %s %s", endPoint, err))
 		return err
 	}
 
diff --git a/proxy/protocol/dubbo/client/dubbo_client.go b/proxy/protocol/dubbo/client/dubbo_client.go
index 5c6b893..eefdf7d 100644
--- a/proxy/protocol/dubbo/client/dubbo_client.go
+++ b/proxy/protocol/dubbo/client/dubbo_client.go
@@ -22,6 +22,7 @@
 	"github.com/apache/servicecomb-mesher/proxy/protocol/dubbo/dubbo"
 	"github.com/apache/servicecomb-mesher/proxy/protocol/dubbo/utils"
 	"github.com/go-chassis/go-chassis/core/lager"
+	"github.com/go-chassis/openlog"
 	"net"
 	"sync"
 	"time"
@@ -144,7 +145,10 @@
 func (this *DubboClient) open() error {
 	c, errDial := net.DialTimeout("tcp", this.addr, this.Timeout)
 	if errDial != nil {
-		lager.Logger.Errorf("the addr: %s %s ", this.addr, errDial)
+		lager.Logger.Error("tcp dial failed", openlog.WithTags(openlog.Tags{
+			"addr": this.addr,
+			"err":  errDial,
+		}))
 		return errDial
 	}
 	conn, ok := c.(*net.TCPConn)
diff --git a/proxy/protocol/dubbo/proxy/dubbo_proxy_ouput_test.go b/proxy/protocol/dubbo/proxy/dubbo_proxy_ouput_test.go
index 9962491..dfab1a3 100644
--- a/proxy/protocol/dubbo/proxy/dubbo_proxy_ouput_test.go
+++ b/proxy/protocol/dubbo/proxy/dubbo_proxy_ouput_test.go
@@ -84,7 +84,7 @@
 
 		protoMap := make(map[string]model.Protocol)
 		config.GlobalDefinition = &model.GlobalCfg{
-			Cse: model.CseStruct{
+			ServiceComb: model.ServiceComb{
 				Protocols: protoMap,
 			},
 		}
@@ -141,7 +141,7 @@
 
 		protoMap := make(map[string]model.Protocol)
 		config.GlobalDefinition = &model.GlobalCfg{
-			Cse: model.CseStruct{
+			ServiceComb: model.ServiceComb{
 				Protocols: protoMap,
 			},
 		}
diff --git a/proxy/protocol/dubbo/schema/cache.go b/proxy/protocol/dubbo/schema/cache.go
index caf6140..d6e9479 100644
--- a/proxy/protocol/dubbo/schema/cache.go
+++ b/proxy/protocol/dubbo/schema/cache.go
@@ -18,6 +18,7 @@
 package schema
 
 import (
+	"fmt"
 	"strings"
 	"sync"
 	"time"
@@ -51,7 +52,7 @@
 		svc := registry.DefaultContractDiscoveryService.GetMicroServicesByInterface(interfaceName)
 		if svc != nil {
 			svcKey := strings.Join([]string{svc[0].ServiceName, svc[0].Version, svc[0].AppID}, "/")
-			lager.Logger.Infof("refresh cache svc [%s] for interface %s", svcKey, interfaceName)
+			lager.Logger.Info(fmt.Sprintf("refresh cache svc [%s] for interface %s", svcKey, interfaceName))
 			svcToInterfaceCache.Set(interfaceName, svc[0], 0)
 		}
 	}}
diff --git a/proxy/protocol/dubbo/schema/schema.go b/proxy/protocol/dubbo/schema/schema.go
index c860a5f..eff96e4 100644
--- a/proxy/protocol/dubbo/schema/schema.go
+++ b/proxy/protocol/dubbo/schema/schema.go
@@ -179,11 +179,11 @@
 func GetSvcByInterface(interfaceName string) *registry.MicroService {
 	value, ok := svcToInterfaceCache.Get(interfaceName)
 	if !ok || value == nil {
-		lager.Logger.Infof("Get svc from remote, interface: %s", interfaceName)
+		lager.Logger.Info(fmt.Sprintf("Get svc from remote, interface: %s", interfaceName))
 		svc := registry.DefaultContractDiscoveryService.GetMicroServicesByInterface(interfaceName)
 		if svc != nil {
 			svcKey := strings.Join([]string{svc[0].ServiceName, svc[0].Version, svc[0].AppID}, "/")
-			lager.Logger.Infof("Cached svc [%s] for interface %s", svcKey, interfaceName)
+			lager.Logger.Info(fmt.Sprintf("Cached svc [%s] for interface %s", svcKey, interfaceName))
 			svcToInterfaceCache.Set(interfaceName, svc[0], 0)
 			refresher.Add(newInterfaceJob(interfaceName))
 		} else {
diff --git a/proxy/protocol/dubbo/server/server.go b/proxy/protocol/dubbo/server/server.go
index 9f7063d..867fdb2 100644
--- a/proxy/protocol/dubbo/server/server.go
+++ b/proxy/protocol/dubbo/server/server.go
@@ -170,11 +170,11 @@
 func initSchema() {
 	m := make(map[string]string, 0)
 	service := config.MicroserviceDefinition
-	if len(service.ServiceDescription.Schemas) == 0 {
+	if len(service.Schemas) == 0 {
 		return
 	}
 
-	for _, inter := range service.ServiceDescription.Schemas {
+	for _, inter := range service.Schemas {
 		if len(inter) == 0 {
 			openlogging.GetLogger().Warnf("interfaces is empty")
 			break
diff --git a/proxy/protocol/dubbo/server/server_test.go b/proxy/protocol/dubbo/server/server_test.go
index e1da29a..2fba42a 100644
--- a/proxy/protocol/dubbo/server/server_test.go
+++ b/proxy/protocol/dubbo/server/server_test.go
@@ -42,7 +42,7 @@
 
 	protoMap := make(map[string]model.Protocol)
 	config.GlobalDefinition = &model.GlobalCfg{
-		Cse: model.CseStruct{
+		ServiceComb: model.ServiceComb{
 			Protocols: protoMap,
 		},
 	}
@@ -50,9 +50,9 @@
 	defaultChain := make(map[string]string)
 	defaultChain["default"] = ""
 
-	config.GlobalDefinition.Cse.Handler.Chain.Provider = defaultChain
-	config.GlobalDefinition.Cse.Handler.Chain.Consumer = defaultChain
-	config.MicroserviceDefinition = &model.MicroserviceCfg{}
+	config.GlobalDefinition.ServiceComb.Handler.Chain.Provider = defaultChain
+	config.GlobalDefinition.ServiceComb.Handler.Chain.Consumer = defaultChain
+	config.MicroserviceDefinition = &model.ServiceSpec{}
 
 	f, err := server.GetServerFunc("dubbo")
 	assert.NoError(t, err)
@@ -99,7 +99,7 @@
 
 	protoMap := make(map[string]model.Protocol)
 	config.GlobalDefinition = &model.GlobalCfg{
-		Cse: model.CseStruct{
+		ServiceComb: model.ServiceComb{
 			Protocols: protoMap,
 		},
 	}
@@ -107,9 +107,9 @@
 	defaultChain := make(map[string]string)
 	defaultChain["default"] = ""
 
-	config.GlobalDefinition.Cse.Handler.Chain.Provider = defaultChain
-	config.GlobalDefinition.Cse.Handler.Chain.Consumer = defaultChain
-	config.MicroserviceDefinition = &model.MicroserviceCfg{}
+	config.GlobalDefinition.ServiceComb.Handler.Chain.Provider = defaultChain
+	config.GlobalDefinition.ServiceComb.Handler.Chain.Consumer = defaultChain
+	config.MicroserviceDefinition = &model.ServiceSpec{}
 
 	f, err := server.GetServerFunc("dubbo")
 	assert.NoError(t, err)
diff --git a/proxy/protocol/dubbo/simpleRegistry/simple_registry_server_test.go b/proxy/protocol/dubbo/simpleRegistry/simple_registry_server_test.go
index e394b7c..d99f115 100644
--- a/proxy/protocol/dubbo/simpleRegistry/simple_registry_server_test.go
+++ b/proxy/protocol/dubbo/simpleRegistry/simple_registry_server_test.go
@@ -38,7 +38,7 @@
 func TestSimpleDubboRegistryServer_Start(t *testing.T) {
 	protoMap := make(map[string]model.Protocol)
 	config.GlobalDefinition = &model.GlobalCfg{
-		Cse: model.CseStruct{
+		ServiceComb: model.ServiceComb{
 			Protocols: protoMap,
 		},
 	}
@@ -46,8 +46,8 @@
 	defaultChain := make(map[string]string)
 	defaultChain["default"] = ""
 
-	config.GlobalDefinition.Cse.Handler.Chain.Provider = defaultChain
-	config.GlobalDefinition.Cse.Handler.Chain.Consumer = defaultChain
+	config.GlobalDefinition.ServiceComb.Handler.Chain.Provider = defaultChain
+	config.GlobalDefinition.ServiceComb.Handler.Chain.Consumer = defaultChain
 
 	f, err := server.GetServerFunc("dubboSimpleRegistry")
 	assert.NoError(t, err)
@@ -92,7 +92,7 @@
 
 	protoMap := make(map[string]model.Protocol)
 	config.GlobalDefinition = &model.GlobalCfg{
-		Cse: model.CseStruct{
+		ServiceComb: model.ServiceComb{
 			Protocols: protoMap,
 		},
 	}
@@ -100,8 +100,8 @@
 	defaultChain := make(map[string]string)
 	defaultChain["default"] = ""
 
-	config.GlobalDefinition.Cse.Handler.Chain.Provider = defaultChain
-	config.GlobalDefinition.Cse.Handler.Chain.Consumer = defaultChain
+	config.GlobalDefinition.ServiceComb.Handler.Chain.Provider = defaultChain
+	config.GlobalDefinition.ServiceComb.Handler.Chain.Consumer = defaultChain
 
 	f, err := server.GetServerFunc("dubboSimpleRegistry")
 	assert.NoError(t, err)
diff --git a/proxy/protocol/grpc/server.go b/proxy/protocol/grpc/server.go
index 1e8bc8d..e009818 100644
--- a/proxy/protocol/grpc/server.go
+++ b/proxy/protocol/grpc/server.go
@@ -94,8 +94,8 @@
 		}
 	} else {
 		sslTag := genTag(common.ComponentName, chassisCom.Provider)
-		lager.Logger.Warnf("%s TLS mode, verify peer: %t, cipher plugin: %s.",
-			sslTag, mesherSSLConfig.VerifyPeer, mesherSSLConfig.CipherPlugin)
+		lager.Logger.Warn(fmt.Sprintf("%s TLS mode, verify peer: %t, cipher plugin: %s.",
+			sslTag, mesherSSLConfig.VerifyPeer, mesherSSLConfig.CipherPlugin))
 	}
 
 	err := hs.listenAndServe("127.0.0.1"+":"+port, mesherTLSConfig, http.HandlerFunc(LocalRequestHandler))
@@ -108,7 +108,7 @@
 	case "0.0.0.0":
 		return errors.New("in sidecar mode, forbidden to listen on 0.0.0.0")
 	case "127.0.0.1":
-		lager.Logger.Warnf("Mesher listen on 127.0.0.1, it can only proxy for consumer. " +
+		lager.Logger.Warn("Mesher listen on 127.0.0.1, it can only proxy for consumer. " +
 			"for provider, mesher must listen on external ip.")
 		return nil
 	default:
@@ -120,8 +120,8 @@
 			}
 		} else {
 			sslTag := genTag(chassisRuntime.ServiceName, chassisCom.ProtocolRest, chassisCom.Provider)
-			lager.Logger.Warnf("%s TLS mode, verify peer: %t, cipher plugin: %s.",
-				sslTag, serverSSLConfig.VerifyPeer, serverSSLConfig.CipherPlugin)
+			lager.Logger.Warn(fmt.Sprintf("%s TLS mode, verify peer: %t, cipher plugin: %s.",
+				sslTag, serverSSLConfig.VerifyPeer, serverSSLConfig.CipherPlugin))
 		}
 
 		err = hs.listenAndServe(hs.opts.Address, serverTLSConfig, http.HandlerFunc(RemoteRequestHandler))
@@ -142,8 +142,8 @@
 			return err
 		}
 	} else {
-		lager.Logger.Warnf("%s TLS mode, verify peer: %t, cipher plugin: %s.",
-			sslTag, mesherSSLConfig.VerifyPeer, mesherSSLConfig.CipherPlugin)
+		lager.Logger.Warn(fmt.Sprintf("%s TLS mode, verify peer: %t, cipher plugin: %s.",
+			sslTag, mesherSSLConfig.VerifyPeer, mesherSSLConfig.CipherPlugin))
 	}
 
 	err = hs.listenAndServe(hs.opts.Address, mesherTLSConfig, http.HandlerFunc(LocalRequestHandler))
diff --git a/proxy/protocol/http/http_server.go b/proxy/protocol/http/http_server.go
index 45c5b6f..aa51eee 100644
--- a/proxy/protocol/http/http_server.go
+++ b/proxy/protocol/http/http_server.go
@@ -95,8 +95,8 @@
 		}
 	} else {
 		sslTag := genTag(common.ComponentName, chassisCom.Provider)
-		lager.Logger.Warnf("%s TLS mode, verify peer: %t, cipher plugin: %s.",
-			sslTag, mesherSSLConfig.VerifyPeer, mesherSSLConfig.CipherPlugin)
+		lager.Logger.Warn(fmt.Sprintf("%s TLS mode, verify peer: %t, cipher plugin: %s.",
+			sslTag, mesherSSLConfig.VerifyPeer, mesherSSLConfig.CipherPlugin))
 	}
 
 	err := hs.listenAndServe("127.0.0.1"+":"+port, mesherTLSConfig, http.HandlerFunc(LocalRequestHandler))
@@ -109,7 +109,7 @@
 	case "0.0.0.0":
 		return errors.New("in sidecar mode, forbidden to listen on 0.0.0.0")
 	case "127.0.0.1":
-		lager.Logger.Warnf("Mesher listen on 127.0.0.1, it can only proxy for consumer. " +
+		lager.Logger.Warn("Mesher listen on 127.0.0.1, it can only proxy for consumer. " +
 			"for provider, mesher must listen on external ip.")
 		return nil
 	default:
@@ -121,8 +121,8 @@
 			}
 		} else {
 			sslTag := genTag(chassisRuntime.ServiceName, chassisCom.ProtocolRest, chassisCom.Provider)
-			lager.Logger.Warnf("%s TLS mode, verify peer: %t, cipher plugin: %s.",
-				sslTag, serverSSLConfig.VerifyPeer, serverSSLConfig.CipherPlugin)
+			lager.Logger.Warn(fmt.Sprintf("%s TLS mode, verify peer: %t, cipher plugin: %s.",
+				sslTag, serverSSLConfig.VerifyPeer, serverSSLConfig.CipherPlugin))
 		}
 
 		err = hs.listenAndServe(hs.opts.Address, serverTLSConfig, http.HandlerFunc(RemoteRequestHandler))
@@ -145,8 +145,8 @@
 			return err
 		}
 	} else {
-		lager.Logger.Warnf("TLS mode, verify peer: %t, cipher plugin: %s.",
-			mesherSSLConfig.VerifyPeer, mesherSSLConfig.CipherPlugin)
+		lager.Logger.Warn(fmt.Sprintf("TLS mode, verify peer: %t, cipher plugin: %s.",
+			mesherSSLConfig.VerifyPeer, mesherSSLConfig.CipherPlugin))
 	}
 
 	err = hs.listenAndServe(hs.opts.Address, mesherTLSConfig, http.HandlerFunc(HandleIngressTraffic))
diff --git a/proxy/protocol/http/http_server_test.go b/proxy/protocol/http/http_server_test.go
index 3dd6855..d2ee3fb 100644
--- a/proxy/protocol/http/http_server_test.go
+++ b/proxy/protocol/http/http_server_test.go
@@ -88,7 +88,7 @@
 
 	protoMap := make(map[string]model.Protocol)
 	config.GlobalDefinition = &model.GlobalCfg{
-		Cse: model.CseStruct{
+		ServiceComb: model.ServiceComb{
 			Protocols: protoMap,
 		},
 	}
@@ -96,8 +96,8 @@
 	defaultChain := make(map[string]string)
 	defaultChain["default"] = ""
 
-	config.GlobalDefinition.Cse.Handler.Chain.Provider = defaultChain
-	config.GlobalDefinition.Cse.Handler.Chain.Consumer = defaultChain
+	config.GlobalDefinition.ServiceComb.Handler.Chain.Provider = defaultChain
+	config.GlobalDefinition.ServiceComb.Handler.Chain.Consumer = defaultChain
 
 	f, err := server.GetServerFunc("http")
 	assert.NoError(t, err)
@@ -170,7 +170,7 @@
 
 	protoMap := make(map[string]model.Protocol)
 	config.GlobalDefinition = &model.GlobalCfg{
-		Cse: model.CseStruct{
+		ServiceComb: model.ServiceComb{
 			Protocols: protoMap,
 		},
 	}
@@ -178,8 +178,8 @@
 	defaultChain := make(map[string]string)
 	defaultChain["default"] = ""
 
-	config.GlobalDefinition.Cse.Handler.Chain.Provider = defaultChain
-	config.GlobalDefinition.Cse.Handler.Chain.Consumer = defaultChain
+	config.GlobalDefinition.ServiceComb.Handler.Chain.Provider = defaultChain
+	config.GlobalDefinition.ServiceComb.Handler.Chain.Consumer = defaultChain
 
 	f, err := server.GetServerFunc("http")
 	assert.NoError(t, err)
diff --git a/proxy/register/register.go b/proxy/register/register.go
index d37dd6f..ae59825 100644
--- a/proxy/register/register.go
+++ b/proxy/register/register.go
@@ -33,7 +33,7 @@
 	var err error
 	// To be called by services based on CSE SDK,
 	// mesher has to register endpoint with rest://ip:port
-	oldProtoMap := config.GlobalDefinition.Cse.Protocols
+	oldProtoMap := config.GlobalDefinition.ServiceComb.Protocols
 	if _, ok := oldProtoMap[common.HTTPProtocol]; !ok {
 		return nil
 	}
diff --git a/proxy/register/register_test.go b/proxy/register/register_test.go
index 5bea983..78957c3 100644
--- a/proxy/register/register_test.go
+++ b/proxy/register/register_test.go
@@ -35,7 +35,7 @@
 func TestAdaptEndpoints(t *testing.T) {
 	protoMap := make(map[string]model.Protocol)
 	config.GlobalDefinition = &model.GlobalCfg{
-		Cse: model.CseStruct{
+		ServiceComb: model.ServiceComb{
 			Protocols: protoMap,
 		},
 	}