@@ -99,7 +99,7 @@ type Router struct {
9999 v2rayServer adapter.V2RayServer
100100}
101101
102- func NewRouter (ctx context.Context , logger log.ContextLogger , dnsLogger log. ContextLogger , options option.RouteOptions , dnsOptions option.DNSOptions , inbounds []option.Inbound ) (* Router , error ) {
102+ func NewRouter (ctx context.Context , logFactory log.Factory , options option.RouteOptions , dnsOptions option.DNSOptions , inbounds []option.Inbound ) (* Router , error ) {
103103 if options .DefaultInterface != "" {
104104 warnDefaultInterfaceOnUnsupportedPlatform .Check ()
105105 }
@@ -112,8 +112,8 @@ func NewRouter(ctx context.Context, logger log.ContextLogger, dnsLogger log.Cont
112112
113113 router := & Router {
114114 ctx : ctx ,
115- logger : logger ,
116- dnsLogger : dnsLogger ,
115+ logger : logFactory . NewLogger ( "router" ) ,
116+ dnsLogger : logFactory . NewLogger ( "dns" ) ,
117117 outboundByTag : make (map [string ]adapter.Outbound ),
118118 rules : make ([]adapter.Rule , 0 , len (options .Rules )),
119119 dnsRules : make ([]adapter.DNSRule , 0 , len (dnsOptions .Rules )),
@@ -130,14 +130,14 @@ func NewRouter(ctx context.Context, logger log.ContextLogger, dnsLogger log.Cont
130130 defaultMark : options .DefaultMark ,
131131 }
132132 for i , ruleOptions := range options .Rules {
133- routeRule , err := NewRule (router , logger , ruleOptions )
133+ routeRule , err := NewRule (router , router . logger , ruleOptions )
134134 if err != nil {
135135 return nil , E .Cause (err , "parse rule[" , i , "]" )
136136 }
137137 router .rules = append (router .rules , routeRule )
138138 }
139139 for i , dnsRuleOptions := range dnsOptions .Rules {
140- dnsRule , err := NewDNSRule (router , logger , dnsRuleOptions )
140+ dnsRule , err := NewDNSRule (router , router . logger , dnsRuleOptions )
141141 if err != nil {
142142 return nil , E .Cause (err , "parse dns rule[" , i , "]" )
143143 }
@@ -197,7 +197,7 @@ func NewRouter(ctx context.Context, logger log.ContextLogger, dnsLogger log.Cont
197197 return nil , E .New ("parse dns server[" , tag , "]: missing address_resolver" )
198198 }
199199 }
200- transport , err := dns .CreateTransport (ctx , detour , server .Address )
200+ transport , err := dns .CreateTransport (ctx , logFactory . NewLogger ( F . ToString ( "dns/transport[" , i , "]" )), detour , server .Address )
201201 if err != nil {
202202 return nil , E .Cause (err , "parse dns server[" , tag , "]" )
203203 }
@@ -279,12 +279,12 @@ func NewRouter(ctx context.Context, logger log.ContextLogger, dnsLogger log.Cont
279279 }
280280 if needFindProcess {
281281 searcher , err := process .NewSearcher (process.Config {
282- Logger : logger ,
282+ Logger : logFactory . NewLogger ( "router/process" ) ,
283283 PackageManager : router .packageManager ,
284284 })
285285 if err != nil {
286286 if err != os .ErrInvalid {
287- logger .Warn (E .Cause (err , "create process searcher" ))
287+ router . logger .Warn (E .Cause (err , "create process searcher" ))
288288 }
289289 } else {
290290 router .processSearcher = searcher
0 commit comments