Files
quic-go/logging/multiplexer.tmpl
Marten Seemann a7795541c9 logging: use code generation to generate the multiplexed tracers (#4677)
* logging: use code generation to generate the multiplexed tracers

* logging: ignore auto-generated files for code coverage

* logging: move code generation comment to generator script
2024-11-28 23:57:11 +08:00

22 lines
538 B
Cheetah

package logging
func NewMultiplexed{{ .StructName }} (tracers ...*{{ .StructName }}) *{{ .StructName }} {
if len(tracers) == 0 {
return nil
}
if len(tracers) == 1 {
return tracers[0]
}
return &{{ .StructName }}{
{{- range .Fields }}
{{ .Name }}: func({{ .Params }}){{ .ReturnTypes }} {
for _, t := range tracers {
if t.{{ .Name }} != nil {
t.{{ .Name }}({{ .Args }})
}
}
},
{{- end }}
}
}