|
@@ -203,21 +203,23 @@ func (s *Box) Start() error {
|
|
|
|
|
|
func (s *Box) preStart() error {
|
|
|
for serviceName, service := range s.preServices {
|
|
|
+ s.logger.Trace("pre-start ", serviceName)
|
|
|
err := adapter.PreStart(service)
|
|
|
if err != nil {
|
|
|
- return E.Cause(err, "pre-start ", serviceName)
|
|
|
+ return E.Cause(err, "pre-starting ", serviceName)
|
|
|
}
|
|
|
}
|
|
|
for i, out := range s.outbounds {
|
|
|
+ var tag string
|
|
|
+ if out.Tag() == "" {
|
|
|
+ tag = F.ToString(i)
|
|
|
+ } else {
|
|
|
+ tag = out.Tag()
|
|
|
+ }
|
|
|
if starter, isStarter := out.(common.Starter); isStarter {
|
|
|
+ s.logger.Trace("initializing outbound/", out.Type(), "[", tag, "]")
|
|
|
err := starter.Start()
|
|
|
if err != nil {
|
|
|
- var tag string
|
|
|
- if out.Tag() == "" {
|
|
|
- tag = F.ToString(i)
|
|
|
- } else {
|
|
|
- tag = out.Tag()
|
|
|
- }
|
|
|
return E.Cause(err, "initialize outbound/", out.Type(), "[", tag, "]")
|
|
|
}
|
|
|
}
|
|
@@ -231,24 +233,27 @@ func (s *Box) start() error {
|
|
|
return err
|
|
|
}
|
|
|
for serviceName, service := range s.preServices {
|
|
|
+ s.logger.Trace("starting ", serviceName)
|
|
|
err = service.Start()
|
|
|
if err != nil {
|
|
|
return E.Cause(err, "start ", serviceName)
|
|
|
}
|
|
|
}
|
|
|
for i, in := range s.inbounds {
|
|
|
+ var tag string
|
|
|
+ if in.Tag() == "" {
|
|
|
+ tag = F.ToString(i)
|
|
|
+ } else {
|
|
|
+ tag = in.Tag()
|
|
|
+ }
|
|
|
+ s.logger.Trace("initializing inbound/", in.Type(), "[", tag, "]")
|
|
|
err = in.Start()
|
|
|
if err != nil {
|
|
|
- var tag string
|
|
|
- if in.Tag() == "" {
|
|
|
- tag = F.ToString(i)
|
|
|
- } else {
|
|
|
- tag = in.Tag()
|
|
|
- }
|
|
|
return E.Cause(err, "initialize inbound/", in.Type(), "[", tag, "]")
|
|
|
}
|
|
|
}
|
|
|
for serviceName, service := range s.postServices {
|
|
|
+ s.logger.Trace("starting ", service)
|
|
|
err = service.Start()
|
|
|
if err != nil {
|
|
|
return E.Cause(err, "start ", serviceName)
|
|
@@ -266,30 +271,36 @@ func (s *Box) Close() error {
|
|
|
}
|
|
|
var errors error
|
|
|
for serviceName, service := range s.postServices {
|
|
|
+ s.logger.Trace("closing ", serviceName)
|
|
|
errors = E.Append(errors, service.Close(), func(err error) error {
|
|
|
return E.Cause(err, "close ", serviceName)
|
|
|
})
|
|
|
}
|
|
|
for i, in := range s.inbounds {
|
|
|
+ s.logger.Trace("closing inbound/", in.Type(), "[", i, "]")
|
|
|
errors = E.Append(errors, in.Close(), func(err error) error {
|
|
|
return E.Cause(err, "close inbound/", in.Type(), "[", i, "]")
|
|
|
})
|
|
|
}
|
|
|
for i, out := range s.outbounds {
|
|
|
+ s.logger.Trace("closing outbound/", out.Type(), "[", i, "]")
|
|
|
errors = E.Append(errors, common.Close(out), func(err error) error {
|
|
|
return E.Cause(err, "close outbound/", out.Type(), "[", i, "]")
|
|
|
})
|
|
|
}
|
|
|
+ s.logger.Trace("closing router")
|
|
|
if err := common.Close(s.router); err != nil {
|
|
|
errors = E.Append(errors, err, func(err error) error {
|
|
|
return E.Cause(err, "close router")
|
|
|
})
|
|
|
}
|
|
|
for serviceName, service := range s.preServices {
|
|
|
+ s.logger.Trace("closing ", serviceName)
|
|
|
errors = E.Append(errors, service.Close(), func(err error) error {
|
|
|
return E.Cause(err, "close ", serviceName)
|
|
|
})
|
|
|
}
|
|
|
+ s.logger.Trace("closing log factory")
|
|
|
if err := common.Close(s.logFactory); err != nil {
|
|
|
errors = E.Append(errors, err, func(err error) error {
|
|
|
return E.Cause(err, "close log factory")
|