func (l *withLogger) Warn(msg string, tags ...tag.Tag) {
	l.logger.Warn(msg, l.prependTags(tags)...)
}
Warn writes message to the log.
package log
import (
	"go.temporal.io/server/common/log/tag"
)
type withLogger struct {
	logger Logger
	tags   []tag.Tag
}
var _ Logger = (*withLogger)(nil)
func With(logger Logger, tags ...tag.Tag) Logger {
	if wl, ok := logger.(WithLogger); ok {
		return wl.With(tags...)
	}
	return newWithLogger(logger, tags...)
}
func newWithLogger(logger Logger, tags ...tag.Tag) *withLogger {
	return &withLogger{logger: logger, tags: tags}
}
func (l *withLogger) prependTags(tags []tag.Tag) []tag.Tag {
	return append(l.tags, tags...)
}
func (l *withLogger) Debug(msg string, tags ...tag.Tag) {
	l.logger.Debug(msg, l.prependTags(tags)...)
}
func (l *withLogger) Info(msg string, tags ...tag.Tag) {
	l.logger.Info(msg, l.prependTags(tags)...)
}