You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2018/07/31 02:05:45 UTC
[incubator-servicecomb-service-center] branch master updated:
SCB-776 Log print more detailed (#401)
This is an automated email from the ASF dual-hosted git repository.
littlecui pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-service-center.git
The following commit(s) were added to refs/heads/master by this push:
new babdccc SCB-776 Log print more detailed (#401)
babdccc is described below
commit babdcccb73f5b5e1c76d90166a44eb22f817687d
Author: little-cui <su...@qq.com>
AuthorDate: Tue Jul 31 10:05:43 2018 +0800
SCB-776 Log print more detailed (#401)
---
pkg/util/net.go | 2 +-
server/api.go | 16 +++++------
server/service/instance.go | 63 ++++++++++++++++++++++++------------------
server/service/microservice.go | 5 ++--
4 files changed, 48 insertions(+), 38 deletions(-)
diff --git a/pkg/util/net.go b/pkg/util/net.go
index 777a96d..6082506 100644
--- a/pkg/util/net.go
+++ b/pkg/util/net.go
@@ -33,7 +33,7 @@ type IpPort struct {
func GetIPFromContext(ctx context.Context) string {
v, ok := FromContext(ctx, "x-remote-ip").(string)
if !ok {
- return ""
+ return "UNKNOWN"
}
return v
}
diff --git a/server/api.go b/server/api.go
index 6d1ea98..f606fee 100644
--- a/server/api.go
+++ b/server/api.go
@@ -97,10 +97,10 @@ 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, service id %s", respE.ServiceId)
+ util.Logger().Warnf(nil, "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, service id %s", respE.ServiceId)
+ util.Logger().Errorf(err, "query service center service info failed, serviceId %s", respE.ServiceId)
return fmt.Errorf("service center service file lost.")
}
core.Service = respG.Service
@@ -113,7 +113,7 @@ func (s *APIServer) registryService(pCtx context.Context) error {
return err
}
core.Service.ServiceId = respS.ServiceId
- util.Logger().Infof("register service center service successfully, service id %s", respS.ServiceId)
+ util.Logger().Infof("register service center service %s", respS.ServiceId)
return nil
}
@@ -136,7 +136,7 @@ func (s *APIServer) registryInstance(pCtx context.Context) error {
return err
}
core.Instance.InstanceId = respI.InstanceId
- util.Logger().Infof("register service center instance successfully, instance %s/%s, endpoints %s",
+ util.Logger().Infof("register service center instance %s/%s, endpoints %s",
core.Service.ServiceId, respI.InstanceId, endpoints)
return nil
}
@@ -152,7 +152,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 successfully, %s/%s",
+ util.Logger().Warnf(nil, "unregister service center instance %s/%s",
core.Service.ServiceId, core.Instance.InstanceId)
return nil
}
@@ -164,11 +164,11 @@ func (s *APIServer) doAPIServerHeartBeat(pCtx context.Context) {
ctx := core.AddDefaultContextValue(pCtx)
respI, err := core.InstanceAPI.Heartbeat(ctx, core.HeartbeatRequest())
if respI.Response.Code == pb.Response_SUCCESS {
- util.Logger().Debugf("update service center %s heartbeat %s successfully",
+ util.Logger().Debugf("update service center instance %s/%s heartbeat",
core.Instance.ServiceId, core.Instance.InstanceId)
return
}
- util.Logger().Errorf(err, "update service center %s instance %s heartbeat failed",
+ util.Logger().Errorf(err, "update service center instance %s/%s heartbeat failed",
core.Instance.ServiceId, core.Instance.InstanceId)
//服务不存在,创建服务
@@ -215,7 +215,7 @@ func (s *APIServer) startRESTServer() (err error) {
if err != nil {
return
}
- util.Logger().Infof("Local listen address: %s, host: %s.", addr, s.HostName)
+ util.Logger().Infof("Local listen address: %s, host: %s", addr, s.HostName)
s.goroutine.Do(func(_ context.Context) {
err := s.restSrv.Serve()
diff --git a/server/service/instance.go b/server/service/instance.go
index 9b1ebaa..2ecc3dc 100644
--- a/server/service/instance.go
+++ b/server/service/instance.go
@@ -89,21 +89,20 @@ func (s *InstanceService) Register(ctx context.Context, in *pb.RegisterInstanceR
remoteIP := util.GetIPFromContext(ctx)
if err := Validate(in); err != nil {
- util.Logger().Errorf(err, "register instance failed, invalid parameters, operator %s.", remoteIP)
+ util.Logger().Errorf(err, "register instance failed, invalid parameters, operator %s", remoteIP)
return &pb.RegisterInstanceResponse{
Response: pb.CreateResponse(scerr.ErrInvalidParams, err.Error()),
}, nil
}
instance := in.GetInstance()
- instanceFlag := util.StringJoin([]string{instance.ServiceId, instance.HostName}, "/")
//允许自定义id
//如果没填写 并且endpoints沒重復,則产生新的全局instance id
oldInstanceId, checkErr := serviceUtil.InstanceExist(ctx, in.Instance)
if checkErr != nil {
- util.Logger().Errorf(checkErr, "instance existence check failed, service %s, operator %s.",
- instanceFlag, remoteIP)
+ util.Logger().Errorf(checkErr, "instance existence check failed, endpoints %v, host '%s', serviceId %s, operator %s",
+ instance.Endpoints, instance.HostName, instance.ServiceId, remoteIP)
resp := pb.CreateResponseWithSCErr(checkErr)
if checkErr.InternalError() {
return &pb.RegisterInstanceResponse{Response: resp}, checkErr
@@ -111,21 +110,26 @@ func (s *InstanceService) Register(ctx context.Context, in *pb.RegisterInstanceR
return &pb.RegisterInstanceResponse{Response: resp}, nil
}
if len(oldInstanceId) > 0 {
- util.Logger().Infof("register instance successful, reuse service %s instance %s, operator %s.",
+ util.Logger().Infof("register instance successful, reuse service %s instance %s, operator %s",
instance.ServiceId, oldInstanceId, remoteIP)
return &pb.RegisterInstanceResponse{
- Response: pb.CreateResponse(pb.Response_SUCCESS, "instance more exist."),
+ Response: pb.CreateResponse(pb.Response_SUCCESS, "instance more exist"),
InstanceId: oldInstanceId,
}, nil
}
if err := s.preProcessRegisterInstance(ctx, instance); err != nil {
- util.Logger().Errorf(err, "register instance failed, service %s, operator %s.", instanceFlag, remoteIP)
+ util.Logger().Errorf(err, "register instance failed, endpoints %v, host '%s', serviceId %s, operator %s",
+ instance.Endpoints, instance.HostName, instance.ServiceId, remoteIP)
return &pb.RegisterInstanceResponse{
Response: pb.CreateResponseWithSCErr(err),
}, nil
}
+ ttl := int64(instance.HealthCheck.Interval * (instance.HealthCheck.Times + 1))
+ instanceFlag := fmt.Sprintf("ttl %ds, endpoints %v, host '%s', serviceId %s",
+ ttl, instance.Endpoints, instance.HostName, instance.ServiceId)
+
//先以domain/project的方式组装
domainProject := util.ParseDomainProject(ctx)
@@ -140,7 +144,7 @@ func (s *InstanceService) Register(ctx context.Context, in *pb.RegisterInstanceR
defer reporter.Close()
}
if err != nil {
- util.Logger().Errorf(err, "register instance failed, service %s, operator %s: no quota apply.",
+ util.Logger().Errorf(err, "register instance failed, %s, operator %s",
instanceFlag, remoteIP)
response := &pb.RegisterInstanceResponse{
Response: pb.CreateResponseWithSCErr(err),
@@ -156,22 +160,20 @@ func (s *InstanceService) Register(ctx context.Context, in *pb.RegisterInstanceR
data, err := json.Marshal(instance)
if err != nil {
util.Logger().Errorf(err,
- "register instance failed, service %s, instanceId %s, operator %s: json marshal data failed.",
+ "register instance failed, %s, instanceId %s, operator %s",
instanceFlag, instanceId, remoteIP)
return &pb.RegisterInstanceResponse{
Response: pb.CreateResponse(scerr.ErrInternal, err.Error()),
}, err
}
- ttl := int64(instance.HealthCheck.Interval * (instance.HealthCheck.Times + 1))
leaseID, err := backend.Registry().LeaseGrant(ctx, ttl)
if err != nil {
- util.Logger().Errorf(err, "grant lease failed, instance %s, operator: %s.", instanceFlag, remoteIP)
+ util.Logger().Errorf(err, "grant lease failed, %s, operator: %s", instanceFlag, remoteIP)
return &pb.RegisterInstanceResponse{
Response: pb.CreateResponse(scerr.ErrUnavailableBackend, err.Error()),
}, err
}
- util.Logger().Infof("lease grant %ds successfully, instance %s, operator: %s.", ttl, instanceFlag, remoteIP)
// build the request options
key := apt.GenerateInstanceKey(domainProject, instance.ServiceId, instanceId)
@@ -191,7 +193,7 @@ func (s *InstanceService) Register(ctx context.Context, in *pb.RegisterInstanceR
nil)
if err != nil {
util.Logger().Errorf(err,
- "register instance failed, service %s, instanceId %s, operator %s: commit data into etcd failed.",
+ "register instance failed, %s, instanceId %s, operator %s",
instanceFlag, instanceId, remoteIP)
return &pb.RegisterInstanceResponse{
Response: pb.CreateResponse(scerr.ErrUnavailableBackend, err.Error()),
@@ -199,7 +201,7 @@ func (s *InstanceService) Register(ctx context.Context, in *pb.RegisterInstanceR
}
if !resp.Succeeded {
util.Logger().Errorf(nil,
- "register instance failed, service %s, instanceId %s, operator %s: service does not exist.",
+ "register instance failed, %s, instanceId %s, operator %s: service does not exist",
instanceFlag, instanceId, remoteIP)
return &pb.RegisterInstanceResponse{
Response: pb.CreateResponse(scerr.ErrServiceNotExists, "Service does not exist."),
@@ -209,11 +211,11 @@ func (s *InstanceService) Register(ctx context.Context, in *pb.RegisterInstanceR
if reporter != nil {
if err := reporter.ReportUsedQuota(ctx); err != nil {
util.Logger().Errorf(err,
- "register instance failed, service %s, instanceId %s, operator %s: report used quota failed.",
+ "register instance failed, %s, instanceId %s, operator %s",
instanceFlag, instanceId, remoteIP)
}
}
- util.Logger().Infof("register instance successful service %s, instanceId %s, operator %s.",
+ util.Logger().Infof("register instance %s, instanceId %s, operator %s",
instanceFlag, instanceId, remoteIP)
return &pb.RegisterInstanceResponse{
Response: pb.CreateResponse(pb.Response_SUCCESS, "Register service instance successfully."),
@@ -264,7 +266,7 @@ func (s *InstanceService) Unregister(ctx context.Context, in *pb.UnregisterInsta
}, nil
}
- util.Logger().Infof("unregister instance successful isntance %s, operator %s.", instanceFlag, remoteIP)
+ util.Logger().Infof("unregister instance %s, operator %s.", instanceFlag, remoteIP)
return &pb.UnregisterInstanceResponse{
Response: pb.CreateResponse(pb.Response_SUCCESS, "Unregister service instance successfully."),
}, nil
@@ -503,22 +505,24 @@ func (s *InstanceService) Find(ctx context.Context, in *pb.FindInstancesRequest)
}
domainProject := util.ParseDomainProject(ctx)
- findFlag := fmt.Sprintf("consumer %s find provider %s/%s/%s", in.ConsumerServiceId, in.AppId, in.ServiceName, in.VersionRule)
service, err := serviceUtil.GetService(ctx, domainProject, in.ConsumerServiceId)
if err != nil {
- util.Logger().Errorf(err, "find instance failed, %s: get consumer failed.", findFlag)
+ util.Logger().Errorf(err, "get consumer failed, consumer %s find provider %s/%s/%s",
+ in.ConsumerServiceId, in.AppId, in.ServiceName, in.VersionRule)
return &pb.FindInstancesResponse{
Response: pb.CreateResponse(scerr.ErrInternal, err.Error()),
}, err
}
if service == nil {
- util.Logger().Errorf(nil, "find instance failed, %s: consumer not exist.", findFlag)
+ util.Logger().Errorf(nil, "consumer not exist, consumer %s find provider %s/%s/%s",
+ in.ConsumerServiceId, in.AppId, in.ServiceName, in.VersionRule)
return &pb.FindInstancesResponse{
Response: pb.CreateResponse(scerr.ErrServiceNotExists, "Consumer does not exist."),
}, nil
}
+ var findFlag string
provider := &pb.MicroServiceKey{
Tenant: util.ParseTargetDomainProject(ctx),
Environment: service.Environment,
@@ -530,12 +534,17 @@ func (s *InstanceService) Find(ctx context.Context, in *pb.FindInstancesRequest)
if apt.IsShared(provider) {
// it means the shared micro-services must be the same env with SC.
provider.Environment = apt.Service.Environment
- findFlag += "(provider is shared service in " + provider.Environment + " environment)"
+
+ findFlag = fmt.Sprintf("consumer %s find shared service %s/%s/%s/%s", in.ConsumerServiceId,
+ service.Environment, in.AppId, in.ServiceName, in.VersionRule)
} else {
// provider is not a shared micro-service,
// only allow shared micro-service instances found in different domains.
util.SetTargetDomainProject(ctx, util.ParseDomain(ctx), util.ParseProject(ctx))
provider.Tenant = util.ParseTargetDomainProject(ctx)
+
+ findFlag = fmt.Sprintf("consumer %s find service %s/%s/%s/%s", in.ConsumerServiceId,
+ service.Environment, in.AppId, in.ServiceName, in.VersionRule)
}
noCache, cacheOnly := ctx.Value(serviceUtil.CTX_NOCACHE) == "1", ctx.Value(serviceUtil.CTX_CACHEONLY) == "1"
@@ -561,10 +570,10 @@ func (s *InstanceService) Find(ctx context.Context, in *pb.FindInstancesRequest)
}, err
}
if item == nil {
- mes := fmt.Sprintf("provider not exist, %s", findFlag)
- util.Logger().Errorf(nil, "FindInstancesCache.Get failed, %s", mes)
+ mes := fmt.Errorf("provider does not exist, %s", findFlag)
+ util.Logger().Errorf(mes, "FindInstancesCache.Get failed")
return &pb.FindInstancesResponse{
- Response: pb.CreateResponse(scerr.ErrServiceNotExists, mes),
+ Response: pb.CreateResponse(scerr.ErrServiceNotExists, mes.Error()),
}, nil
}
@@ -581,10 +590,10 @@ func (s *InstanceService) Find(ctx context.Context, in *pb.FindInstancesRequest)
if provider != nil {
err = serviceUtil.AddServiceVersionRule(ctx, domainProject, service, provider)
} else {
- mes := fmt.Sprintf("provider not exist, %s", findFlag)
- util.Logger().Errorf(nil, "AddServiceVersionRule failed, %s", mes)
+ mes := fmt.Errorf("provider does not exist, %s", findFlag)
+ util.Logger().Errorf(mes, "AddServiceVersionRule failed")
return &pb.FindInstancesResponse{
- Response: pb.CreateResponse(scerr.ErrServiceNotExists, mes),
+ Response: pb.CreateResponse(scerr.ErrServiceNotExists, mes.Error()),
}, nil
}
if err != nil {
diff --git a/server/service/microservice.go b/server/service/microservice.go
index b819caf..5a64578 100644
--- a/server/service/microservice.go
+++ b/server/service/microservice.go
@@ -69,7 +69,8 @@ func (s *MicroServiceService) Create(ctx context.Context, in *pb.CreateServiceRe
func (s *MicroServiceService) CreateServicePri(ctx context.Context, in *pb.CreateServiceRequest) (*pb.CreateServiceResponse, error) {
remoteIP := util.GetIPFromContext(ctx)
service := in.Service
- serviceFlag := util.StringJoin([]string{service.AppId, service.ServiceName, service.Version}, "/")
+ serviceFlag := util.StringJoin([]string{
+ service.Environment, service.AppId, service.ServiceName, service.Version}, "/")
serviceUtil.SetServiceDefaultValue(service)
@@ -179,7 +180,7 @@ func (s *MicroServiceService) CreateServicePri(ctx context.Context, in *pb.Creat
util.Logger().Errorf(err, "report used quota failed.")
}
}
- util.Logger().Infof("create micro-service successful, %s, serviceId: %s. operator: %s",
+ util.Logger().Infof("create micro-service %s, serviceId: %s. operator: %s",
serviceFlag, service.ServiceId, remoteIP)
return &pb.CreateServiceResponse{
Response: pb.CreateResponse(pb.Response_SUCCESS, "Register service successfully."),