// Copyright 2020 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // Package log provides helper methods for exporting log events to the // internal/event package. package log import ( "context" "fmt" "golang.org/x/tools/internal/event" "golang.org/x/tools/internal/event/label" "golang.org/x/tools/internal/event/tag" ) // Level parameterizes log severity. type Level int const ( _ Level = iota Error Warning Info Debug Trace ) // Log exports a log event labeled with level l. func (l Level) Log(ctx context.Context, msg string) { event.Log(ctx, msg, tag.Level.Of(int(l))) } // Logf formats and exports a log event labeled with level l. func (l Level) Logf(ctx context.Context, format string, args ...interface{}) { l.Log(ctx, fmt.Sprintf(format, args...)) } // LabeledLevel extracts the labeled log l func LabeledLevel(lm label.Map) Level { return Level(tag.Level.Get(lm)) }