forked from quic-go/quic-go
* 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
22 lines
538 B
Cheetah
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 }}
|
|
}
|
|
}
|