mirror of
https://github.com/v2ray/v2ray-core.git
synced 2026-10-30 16:13:22 +00:00
access log add detour tag
This commit is contained in:
@@ -2,10 +2,17 @@ package log
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"context"
|
||||
|
||||
"v2ray.com/core/common/serial"
|
||||
)
|
||||
|
||||
type logKey int
|
||||
|
||||
const (
|
||||
accessMessageKey logKey = iota
|
||||
)
|
||||
|
||||
type AccessStatus string
|
||||
|
||||
const (
|
||||
@@ -18,6 +25,7 @@ type AccessMessage struct {
|
||||
To interface{}
|
||||
Status AccessStatus
|
||||
Reason interface{}
|
||||
Detour interface{}
|
||||
}
|
||||
|
||||
func (m *AccessMessage) String() string {
|
||||
@@ -28,6 +36,19 @@ func (m *AccessMessage) String() string {
|
||||
builder.WriteByte(' ')
|
||||
builder.WriteString(serial.ToString(m.To))
|
||||
builder.WriteByte(' ')
|
||||
builder.WriteString(serial.ToString(m.Detour))
|
||||
builder.WriteByte(' ')
|
||||
builder.WriteString(serial.ToString(m.Reason))
|
||||
return builder.String()
|
||||
}
|
||||
|
||||
func ContextWithAccessMessage(ctx context.Context, accessMessage *AccessMessage) context.Context {
|
||||
return context.WithValue(ctx, accessMessageKey, accessMessage)
|
||||
}
|
||||
|
||||
func AccessMessageFromContext(ctx context.Context) *AccessMessage {
|
||||
if accessMessage, ok := ctx.Value(accessMessageKey).(*AccessMessage); ok {
|
||||
return accessMessage
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user