mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-06-17 00:18:05 +02:00
Bump go-git
This commit is contained in:
55
vendor/github.com/jesseduffield/go-git/v5/utils/trace/trace.go
generated
vendored
Normal file
55
vendor/github.com/jesseduffield/go-git/v5/utils/trace/trace.go
generated
vendored
Normal file
@ -0,0 +1,55 @@
|
||||
package trace
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"sync/atomic"
|
||||
)
|
||||
|
||||
var (
|
||||
// logger is the logger to use for tracing.
|
||||
logger = newLogger()
|
||||
|
||||
// current is the targets that are enabled for tracing.
|
||||
current atomic.Int32
|
||||
)
|
||||
|
||||
func newLogger() *log.Logger {
|
||||
return log.New(os.Stderr, "", log.Ltime|log.Lmicroseconds|log.Lshortfile)
|
||||
}
|
||||
|
||||
// Target is a tracing target.
|
||||
type Target int32
|
||||
|
||||
const (
|
||||
// General traces general operations.
|
||||
General Target = 1 << iota
|
||||
|
||||
// Packet traces git packets.
|
||||
Packet
|
||||
)
|
||||
|
||||
// SetTarget sets the tracing targets.
|
||||
func SetTarget(target Target) {
|
||||
current.Store(int32(target))
|
||||
}
|
||||
|
||||
// SetLogger sets the logger to use for tracing.
|
||||
func SetLogger(l *log.Logger) {
|
||||
logger = l
|
||||
}
|
||||
|
||||
// Print prints the given message only if the target is enabled.
|
||||
func (t Target) Print(args ...interface{}) {
|
||||
if int32(t)¤t.Load() != 0 {
|
||||
logger.Output(2, fmt.Sprint(args...)) // nolint: errcheck
|
||||
}
|
||||
}
|
||||
|
||||
// Printf prints the given message only if the target is enabled.
|
||||
func (t Target) Printf(format string, args ...interface{}) {
|
||||
if int32(t)¤t.Load() != 0 {
|
||||
logger.Output(2, fmt.Sprintf(format, args...)) // nolint: errcheck
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user