diff --git a/protocol/outline/outbound.go b/protocol/outline/outbound.go index f891a3d9..1b0691c5 100644 --- a/protocol/outline/outbound.go +++ b/protocol/outline/outbound.go @@ -57,9 +57,8 @@ func NewOutbound(ctx context.Context, router adapter.Router, log log.ContextLogg } strategyFinder := &smart.StrategyFinder{ - TestTimeout: *options.TestTimeout, - // TODO: define log writer - LogWriter: os.Stdout, + TestTimeout: *options.TestTimeout, + LogWriter: &loggerWriter{logger: log}, StreamDialer: outboundStreamDialer, PacketDialer: outboundStreamDialer, } @@ -137,3 +136,14 @@ func (s *outboundStreamDialer) DialPacket(ctx context.Context, addr string) (net } return conn.(*net.UDPConn), nil } + +type loggerWriter struct { + logger logger.ContextLogger +} + +func (w *loggerWriter) Write(p []byte) (n int, err error) { + if w.logger != nil { + w.logger.Debug(string(p)) + } + return len(p), nil +}