5
5
package log
6
6
7
7
import (
8
- "fmt"
9
8
"io"
10
9
slog "log"
11
10
12
11
"aahframework.org/config.v0"
13
12
)
14
13
15
- var std * Logger
14
+ var dl * Logger
16
15
17
16
//‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
18
17
// Logger methods
19
18
//_______________________________________
20
19
21
20
// Error logs message as `ERROR`. Arguments handled in the mananer of `fmt.Print`.
22
21
func Error (v ... interface {}) {
23
- std . output ( LevelError , 3 , nil , v ... )
22
+ dl . Error ( v ... )
24
23
}
25
24
26
25
// Errorf logs message as `ERROR`. Arguments handled in the mananer of `fmt.Printf`.
27
26
func Errorf (format string , v ... interface {}) {
28
- std . output ( LevelError , 3 , & format , v ... )
27
+ dl . Errorf ( format , v ... )
29
28
}
30
29
31
30
// Warn logs message as `WARN`. Arguments handled in the mananer of `fmt.Print`.
32
31
func Warn (v ... interface {}) {
33
- std . output ( LevelWarn , 3 , nil , v ... )
32
+ dl . Warn ( v ... )
34
33
}
35
34
36
35
// Warnf logs message as `WARN`. Arguments handled in the mananer of `fmt.Printf`.
37
36
func Warnf (format string , v ... interface {}) {
38
- std . output ( LevelWarn , 3 , & format , v ... )
37
+ dl . Warnf ( format , v ... )
39
38
}
40
39
41
40
// Info logs message as `INFO`. Arguments handled in the mananer of `fmt.Print`.
42
41
func Info (v ... interface {}) {
43
- std . output ( LevelInfo , 3 , nil , v ... )
42
+ dl . Info ( v ... )
44
43
}
45
44
46
45
// Infof logs message as `INFO`. Arguments handled in the mananer of `fmt.Printf`.
47
46
func Infof (format string , v ... interface {}) {
48
- std . output ( LevelInfo , 3 , & format , v ... )
47
+ dl . Infof ( format , v ... )
49
48
}
50
49
51
50
// Debug logs message as `DEBUG`. Arguments handled in the mananer of `fmt.Print`.
52
51
func Debug (v ... interface {}) {
53
- std . output ( LevelDebug , 3 , nil , v ... )
52
+ dl . Debug ( v ... )
54
53
}
55
54
56
55
// Debugf logs message as `DEBUG`. Arguments handled in the mananer of `fmt.Printf`.
57
56
func Debugf (format string , v ... interface {}) {
58
- std . output ( LevelDebug , 3 , & format , v ... )
57
+ dl . Debugf ( format , v ... )
59
58
}
60
59
61
60
// Trace logs message as `TRACE`. Arguments handled in the mananer of `fmt.Print`.
62
61
func Trace (v ... interface {}) {
63
- std . output ( LevelTrace , 3 , nil , v ... )
62
+ dl . Trace ( v ... )
64
63
}
65
64
66
65
// Tracef logs message as `TRACE`. Arguments handled in the mananer of `fmt.Printf`.
67
66
func Tracef (format string , v ... interface {}) {
68
- std . output ( LevelTrace , 3 , & format , v ... )
67
+ dl . Tracef ( format , v ... )
69
68
}
70
69
71
70
//‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
@@ -75,78 +74,98 @@ func Tracef(format string, v ...interface{}) {
75
74
76
75
// Print logs message as `INFO`. Arguments handled in the mananer of `fmt.Print`.
77
76
func Print (v ... interface {}) {
78
- std . output ( LevelInfo , 3 , nil , v ... )
77
+ dl . Print ( v ... )
79
78
}
80
79
81
80
// Printf logs message as `INFO`. Arguments handled in the mananer of `fmt.Printf`.
82
81
func Printf (format string , v ... interface {}) {
83
- std . output ( LevelInfo , 3 , & format , v ... )
82
+ dl . Printf ( format , v ... )
84
83
}
85
84
86
85
// Println logs message as `INFO`. Arguments handled in the mananer of `fmt.Printf`.
87
- func Println (format string , v ... interface {}) {
88
- std . output ( LevelInfo , 3 , & format , v ... )
86
+ func Println (v ... interface {}) {
87
+ dl . Println ( v ... )
89
88
}
90
89
91
90
// Fatal logs message as `FATAL` and call to os.Exit(1).
92
91
func Fatal (v ... interface {}) {
93
- std .output (levelFatal , 3 , nil , v ... )
94
- exit (1 )
92
+ dl .Fatal (v ... )
95
93
}
96
94
97
95
// Fatalf logs message as `FATAL` and call to os.Exit(1).
98
96
func Fatalf (format string , v ... interface {}) {
99
- std .output (levelFatal , 3 , & format , v ... )
100
- exit (1 )
97
+ dl .Fatalf (format , v ... )
101
98
}
102
99
103
100
// Fatalln logs message as `FATAL` and call to os.Exit(1).
104
101
func Fatalln (v ... interface {}) {
105
- std .output (levelFatal , 3 , nil , v ... )
106
- exit (1 )
102
+ dl .Fatalln (v ... )
107
103
}
108
104
109
105
// Panic logs message as `PANIC` and call to panic().
110
106
func Panic (v ... interface {}) {
111
- std .output (levelPanic , 3 , nil , v ... )
112
- panic ("" )
107
+ dl .Panic (v ... )
113
108
}
114
109
115
110
// Panicf logs message as `PANIC` and call to panic().
116
111
func Panicf (format string , v ... interface {}) {
117
- std .output (levelPanic , 3 , & format , v ... )
118
- panic (fmt .Sprintf (format , v ... ))
112
+ dl .Panicf (format , v ... )
119
113
}
120
114
121
115
// Panicln logs message as `PANIC` and call to panic().
122
- func Panicln (format string , v ... interface {}) {
123
- std .output (levelPanic , 3 , & format , v ... )
124
- panic (fmt .Sprintf (format , v ... ))
116
+ func Panicln (v ... interface {}) {
117
+ dl .Panicln (v ... )
118
+ }
119
+
120
+ // AddContext method to add context values into default logger.
121
+ // These context values gets logged with each log entry.
122
+ func AddContext (fields Fields ) {
123
+ dl .AddContext (fields )
124
+ }
125
+
126
+ // AddHook method is to add logger hook function.
127
+ func AddHook (name string , hook HookFunc ) error {
128
+ return dl .AddHook (name , hook )
129
+ }
130
+
131
+ // WithFields method to add multiple key-value pairs into log.
132
+ func WithFields (fields Fields ) Loggerer {
133
+ return dl .WithFields (fields )
134
+ }
135
+
136
+ // WithField method to add single key-value into log
137
+ func WithField (key string , value interface {}) Loggerer {
138
+ return dl .WithField (key , value )
125
139
}
126
140
127
141
// Writer method returns the writer of default logger.
128
142
func Writer () io.Writer {
129
- return std .receiver .Writer ()
143
+ return dl .receiver .Writer ()
144
+ }
145
+
146
+ // SetWriter method sets the given writer into logger instance.
147
+ func SetWriter (w io.Writer ) {
148
+ dl .SetWriter (w )
130
149
}
131
150
132
151
// ToGoLogger method wraps the current log writer into Go Logger instance.
133
152
func ToGoLogger () * slog.Logger {
134
- return std .ToGoLogger ()
153
+ return dl .ToGoLogger ()
135
154
}
136
155
137
156
// SetDefaultLogger method sets the given logger instance as default logger.
138
157
func SetDefaultLogger (l * Logger ) {
139
- std = l
158
+ dl = l
140
159
}
141
160
142
161
// SetLevel method sets log level for default logger.
143
162
func SetLevel (level string ) error {
144
- return std .SetLevel (level )
163
+ return dl .SetLevel (level )
145
164
}
146
165
147
166
// SetPattern method sets the log format pattern for default logger.
148
167
func SetPattern (pattern string ) error {
149
- return std .SetPattern (pattern )
168
+ return dl .SetPattern (pattern )
150
169
}
151
170
152
171
//‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
@@ -155,35 +174,45 @@ func SetPattern(pattern string) error {
155
174
156
175
// Level method returns currently enabled logging level.
157
176
func Level () string {
158
- return std .Level ()
177
+ return dl .Level ()
159
178
}
160
179
161
180
// IsLevelInfo method returns true if log level is INFO otherwise false.
162
181
func IsLevelInfo () bool {
163
- return std .IsLevelInfo ()
182
+ return dl .IsLevelInfo ()
164
183
}
165
184
166
185
// IsLevelError method returns true if log level is ERROR otherwise false.
167
186
func IsLevelError () bool {
168
- return std .IsLevelError ()
187
+ return dl .IsLevelError ()
169
188
}
170
189
171
190
// IsLevelWarn method returns true if log level is WARN otherwise false.
172
191
func IsLevelWarn () bool {
173
- return std .IsLevelWarn ()
192
+ return dl .IsLevelWarn ()
174
193
}
175
194
176
195
// IsLevelDebug method returns true if log level is DEBUG otherwise false.
177
196
func IsLevelDebug () bool {
178
- return std .IsLevelDebug ()
197
+ return dl .IsLevelDebug ()
179
198
}
180
199
181
200
// IsLevelTrace method returns true if log level is TRACE otherwise false.
182
201
func IsLevelTrace () bool {
183
- return std .IsLevelTrace ()
202
+ return dl .IsLevelTrace ()
203
+ }
204
+
205
+ // IsLevelFatal method returns true if log level is FATAL otherwise false.
206
+ func IsLevelFatal () bool {
207
+ return dl .IsLevelFatal ()
208
+ }
209
+
210
+ // IsLevelPanic method returns true if log level is PANIC otherwise false.
211
+ func IsLevelPanic () bool {
212
+ return dl .IsLevelPanic ()
184
213
}
185
214
186
215
func init () {
187
216
cfg , _ := config .ParseString ("log { }" )
188
- std , _ = New (cfg )
217
+ dl , _ = New (cfg )
189
218
}
0 commit comments