From 9682a3df55cc1114be2f465ae4c0c9f77996cf8d Mon Sep 17 00:00:00 2001 From: fcying Date: Wed, 12 Jun 2019 13:04:34 +0800 Subject: [PATCH] access log add detour tag --- app/dispatcher/default.go | 8 ++++---- common/log/access.go | 13 +++++-------- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/app/dispatcher/default.go b/app/dispatcher/default.go index 7c22e05a..486aa3bc 100644 --- a/app/dispatcher/default.go +++ b/app/dispatcher/default.go @@ -15,6 +15,7 @@ import ( "v2ray.com/core/common/buf" "v2ray.com/core/common/log" "v2ray.com/core/common/net" + "v2ray.com/core/common/log" "v2ray.com/core/common/protocol" "v2ray.com/core/common/session" "v2ray.com/core/features/outbound" @@ -288,10 +289,9 @@ func (d *DefaultDispatcher) routedDispatch(ctx context.Context, link *transport. return } - if accessMessage := log.AccessMessageFromContext(ctx); accessMessage != nil { - if tag := handler.Tag(); tag != "" { - accessMessage.Detour = tag - } + accessMessage := log.AccessMessageFromContext(ctx) + if accessMessage != nil { + accessMessage.Detour = "[" + handler.Tag() + "]" log.Record(accessMessage) } diff --git a/common/log/access.go b/common/log/access.go index f3398b55..e0adfe87 100644 --- a/common/log/access.go +++ b/common/log/access.go @@ -3,6 +3,7 @@ package log import ( "context" "strings" + "context" "v2ray.com/core/common/serial" ) @@ -25,8 +26,7 @@ type AccessMessage struct { To interface{} Status AccessStatus Reason interface{} - Email string - Detour string + Detour interface{} } func (m *AccessMessage) String() string { @@ -37,11 +37,8 @@ func (m *AccessMessage) String() string { builder.WriteByte(' ') builder.WriteString(serial.ToString(m.To)) builder.WriteByte(' ') - if len(m.Detour) > 0 { - builder.WriteByte('[') - builder.WriteString(m.Detour) - builder.WriteString("] ") - } + builder.WriteString(serial.ToString(m.Detour)) + builder.WriteByte(' ') builder.WriteString(serial.ToString(m.Reason)) if len(m.Email) > 0 { @@ -60,5 +57,5 @@ func AccessMessageFromContext(ctx context.Context) *AccessMessage { if accessMessage, ok := ctx.Value(accessMessageKey).(*AccessMessage); ok { return accessMessage } - return nil + return nil }