1
1
package log
2
2
3
3
import (
4
+ "fmt"
4
5
"io"
5
6
"os"
7
+ "runtime"
8
+ "strings"
6
9
7
10
"github.com/wakatime/wakatime-cli/pkg/version"
8
11
9
12
l "github.com/sirupsen/logrus"
10
13
)
11
14
12
- // nolint
13
- var logEntry = new ()
15
+ // nolint:gochecknoglobals
16
+ var (
17
+ logEntry = new ()
18
+ // Debugf logs a message at level Debug.
19
+ Debugf = logEntry .Debugf
20
+ // Infof logs a message at level Info.
21
+ Infof = logEntry .Infof
22
+ // Warnf logs a message at level Warn.
23
+ Warnf = logEntry .Warnf
24
+ // Errorf logs a message at level Error.
25
+ Errorf = logEntry .Errorf
26
+ // Fatalf logs a message at level Fatal then the process will exit with status set to 1.
27
+ Fatalf = logEntry .Fatalf
28
+ // Debugln logs a message at level Debug.
29
+ Debugln = logEntry .Debugln
30
+ // Infoln logs a message at level Info.
31
+ Infoln = logEntry .Infoln
32
+ // Warnln logs a message at level Warn.
33
+ Warnln = logEntry .Warnln
34
+ // Errorln logs a message at level Error.
35
+ Errorln = logEntry .Errorln
36
+ // Fatalln logs a message at level Fatal then the process will exit with status set to 1.
37
+ Fatalln = logEntry .Fatalln
38
+ )
14
39
15
40
func new () * l.Entry {
16
41
entry := l .NewEntry (& l.Logger {
@@ -22,6 +47,16 @@ func new() *l.Entry {
22
47
l .FieldKeyMsg : "message" ,
23
48
},
24
49
DisableHTMLEscape : true ,
50
+ CallerPrettyfier : func (f * runtime.Frame ) (string , string ) {
51
+ // Simplifies function description by removing package name from it.
52
+ lastSlash := strings .LastIndexByte (f .Function , '/' )
53
+ if lastSlash < 0 {
54
+ lastSlash = 0
55
+ }
56
+ lastDot := strings .LastIndexByte (f .Function [lastSlash :], '.' ) + lastSlash
57
+
58
+ return f .Function [lastDot + 1 :], fmt .Sprintf ("%s:%d" , f .File , f .Line )
59
+ },
25
60
},
26
61
Level : l .InfoLevel ,
27
62
ExitFunc : os .Exit ,
@@ -55,53 +90,3 @@ func WithField(key string, value interface{}) {
55
90
func WithFields (fields map [string ]interface {}) {
56
91
logEntry .WithFields (fields )
57
92
}
58
-
59
- // Debugf logs a message at level Debug.
60
- func Debugf (format string , args ... interface {}) {
61
- logEntry .Debugf (format , args ... )
62
- }
63
-
64
- // Infof logs a message at level Info.
65
- func Infof (format string , args ... interface {}) {
66
- logEntry .Infof (format , args ... )
67
- }
68
-
69
- // Warnf logs a message at level Warn.
70
- func Warnf (format string , args ... interface {}) {
71
- logEntry .Warnf (format , args ... )
72
- }
73
-
74
- // Errorf logs a message at level Error.
75
- func Errorf (format string , args ... interface {}) {
76
- logEntry .Errorf (format , args ... )
77
- }
78
-
79
- // Fatalf logs a message at level Fatal then the process will exit with status set to 1.
80
- func Fatalf (format string , args ... interface {}) {
81
- logEntry .Fatalf (format , args ... )
82
- }
83
-
84
- // Debugln logs a message at level Debug.
85
- func Debugln (args ... interface {}) {
86
- logEntry .Debugln (args ... )
87
- }
88
-
89
- // Infoln logs a message at level Info.
90
- func Infoln (args ... interface {}) {
91
- logEntry .Infoln (args ... )
92
- }
93
-
94
- // Warnln logs a message at level Warn.
95
- func Warnln (args ... interface {}) {
96
- logEntry .Warnln (args ... )
97
- }
98
-
99
- // Errorln logs a message at level Error.
100
- func Errorln (args ... interface {}) {
101
- logEntry .Errorln (args ... )
102
- }
103
-
104
- // Fatalln logs a message at level Fatal then the process will exit with status set to 1.
105
- func Fatalln (args ... interface {}) {
106
- logEntry .Fatalln (args ... )
107
- }
0 commit comments