[
https://issues.apache.org/jira/browse/SCB-776?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16562992#comment-16562992
]
ASF GitHub Bot commented on SCB-776:
------------------------------------
little-cui closed pull request #401: SCB-776 Log print more detailed
URL: https://github.com/apache/incubator-servicecomb-service-center/pull/401
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/pkg/util/net.go b/pkg/util/net.go
index 777a96d4..60825069 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 6d1ea98c..f606fee3 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 9b1ebaa0..2ecc3dc8 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 b819caf5..5a645783 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."),
----------------------------------------------------------------
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:
[email protected]
> Log print more detailed
> -----------------------
>
> Key: SCB-776
> URL: https://issues.apache.org/jira/browse/SCB-776
> Project: Apache ServiceComb
> Issue Type: Improvement
> Components: Service-Center
> Reporter: little-cui
> Assignee: little-cui
> Priority: Major
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)