55package  log
66
77import  (
8- 	"fmt" 
98	"io" 
109	slog "log" 
1110
1211	"aahframework.org/config.v0" 
1312)
1413
15- var  std  * Logger 
14+ var  dl  * Logger 
1615
1716//‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ 
1817// Logger methods 
1918//_______________________________________ 
2019
2120// Error logs message as `ERROR`. Arguments handled in the mananer of `fmt.Print`. 
2221func  Error (v  ... interface {}) {
23- 	std . output ( LevelError ,  3 ,  nil ,  v ... )
22+ 	dl . Error ( v ... )
2423}
2524
2625// Errorf logs message as `ERROR`. Arguments handled in the mananer of `fmt.Printf`. 
2726func  Errorf (format  string , v  ... interface {}) {
28- 	std . output ( LevelError ,  3 ,  & format , v ... )
27+ 	dl . Errorf ( format , v ... )
2928}
3029
3130// Warn logs message as `WARN`. Arguments handled in the mananer of `fmt.Print`. 
3231func  Warn (v  ... interface {}) {
33- 	std . output ( LevelWarn ,  3 ,  nil ,  v ... )
32+ 	dl . Warn ( v ... )
3433}
3534
3635// Warnf logs message as `WARN`. Arguments handled in the mananer of `fmt.Printf`. 
3736func  Warnf (format  string , v  ... interface {}) {
38- 	std . output ( LevelWarn ,  3 ,  & format , v ... )
37+ 	dl . Warnf ( format , v ... )
3938}
4039
4140// Info logs message as `INFO`. Arguments handled in the mananer of `fmt.Print`. 
4241func  Info (v  ... interface {}) {
43- 	std . output ( LevelInfo ,  3 ,  nil ,  v ... )
42+ 	dl . Info ( v ... )
4443}
4544
4645// Infof logs message as `INFO`. Arguments handled in the mananer of `fmt.Printf`. 
4746func  Infof (format  string , v  ... interface {}) {
48- 	std . output ( LevelInfo ,  3 ,  & format , v ... )
47+ 	dl . Infof ( format , v ... )
4948}
5049
5150// Debug logs message as `DEBUG`. Arguments handled in the mananer of `fmt.Print`. 
5251func  Debug (v  ... interface {}) {
53- 	std . output ( LevelDebug ,  3 ,  nil ,  v ... )
52+ 	dl . Debug ( v ... )
5453}
5554
5655// Debugf logs message as `DEBUG`. Arguments handled in the mananer of `fmt.Printf`. 
5756func  Debugf (format  string , v  ... interface {}) {
58- 	std . output ( LevelDebug ,  3 ,  & format , v ... )
57+ 	dl . Debugf ( format , v ... )
5958}
6059
6160// Trace logs message as `TRACE`. Arguments handled in the mananer of `fmt.Print`. 
6261func  Trace (v  ... interface {}) {
63- 	std . output ( LevelTrace ,  3 ,  nil ,  v ... )
62+ 	dl . Trace ( v ... )
6463}
6564
6665// Tracef logs message as `TRACE`. Arguments handled in the mananer of `fmt.Printf`. 
6766func  Tracef (format  string , v  ... interface {}) {
68- 	std . output ( LevelTrace ,  3 ,  & format , v ... )
67+ 	dl . Tracef ( format , v ... )
6968}
7069
7170//‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ 
@@ -75,78 +74,98 @@ func Tracef(format string, v ...interface{}) {
7574
7675// Print logs message as `INFO`. Arguments handled in the mananer of `fmt.Print`. 
7776func  Print (v  ... interface {}) {
78- 	std . output ( LevelInfo ,  3 ,  nil ,  v ... )
77+ 	dl . Print ( v ... )
7978}
8079
8180// Printf logs message as `INFO`. Arguments handled in the mananer of `fmt.Printf`. 
8281func  Printf (format  string , v  ... interface {}) {
83- 	std . output ( LevelInfo ,  3 ,  & format , v ... )
82+ 	dl . Printf ( format , v ... )
8483}
8584
8685// 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 ... )
8988}
9089
9190// Fatal logs message as `FATAL` and call to os.Exit(1). 
9291func  Fatal (v  ... interface {}) {
93- 	std .output (levelFatal , 3 , nil , v ... )
94- 	exit (1 )
92+ 	dl .Fatal (v ... )
9593}
9694
9795// Fatalf logs message as `FATAL` and call to os.Exit(1). 
9896func  Fatalf (format  string , v  ... interface {}) {
99- 	std .output (levelFatal , 3 , & format , v ... )
100- 	exit (1 )
97+ 	dl .Fatalf (format , v ... )
10198}
10299
103100// Fatalln logs message as `FATAL` and call to os.Exit(1). 
104101func  Fatalln (v  ... interface {}) {
105- 	std .output (levelFatal , 3 , nil , v ... )
106- 	exit (1 )
102+ 	dl .Fatalln (v ... )
107103}
108104
109105// Panic logs message as `PANIC` and call to panic(). 
110106func  Panic (v  ... interface {}) {
111- 	std .output (levelPanic , 3 , nil , v ... )
112- 	panic ("" )
107+ 	dl .Panic (v ... )
113108}
114109
115110// Panicf logs message as `PANIC` and call to panic(). 
116111func  Panicf (format  string , v  ... interface {}) {
117- 	std .output (levelPanic , 3 , & format , v ... )
118- 	panic (fmt .Sprintf (format , v ... ))
112+ 	dl .Panicf (format , v ... )
119113}
120114
121115// 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 )
125139}
126140
127141// Writer method returns the writer of default logger. 
128142func  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 )
130149}
131150
132151// ToGoLogger method wraps the current log writer into Go Logger instance. 
133152func  ToGoLogger () * slog.Logger  {
134- 	return  std .ToGoLogger ()
153+ 	return  dl .ToGoLogger ()
135154}
136155
137156// SetDefaultLogger method sets the given logger instance as default logger. 
138157func  SetDefaultLogger (l  * Logger ) {
139- 	std  =  l 
158+ 	dl  =  l 
140159}
141160
142161// SetLevel method sets log level for default logger. 
143162func  SetLevel (level  string ) error  {
144- 	return  std .SetLevel (level )
163+ 	return  dl .SetLevel (level )
145164}
146165
147166// SetPattern method sets the log format pattern for default logger. 
148167func  SetPattern (pattern  string ) error  {
149- 	return  std .SetPattern (pattern )
168+ 	return  dl .SetPattern (pattern )
150169}
151170
152171//‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ 
@@ -155,35 +174,45 @@ func SetPattern(pattern string) error {
155174
156175// Level method returns currently enabled logging level. 
157176func  Level () string  {
158- 	return  std .Level ()
177+ 	return  dl .Level ()
159178}
160179
161180// IsLevelInfo method returns true if log level is INFO otherwise false. 
162181func  IsLevelInfo () bool  {
163- 	return  std .IsLevelInfo ()
182+ 	return  dl .IsLevelInfo ()
164183}
165184
166185// IsLevelError method returns true if log level is ERROR otherwise false. 
167186func  IsLevelError () bool  {
168- 	return  std .IsLevelError ()
187+ 	return  dl .IsLevelError ()
169188}
170189
171190// IsLevelWarn method returns true if log level is WARN otherwise false. 
172191func  IsLevelWarn () bool  {
173- 	return  std .IsLevelWarn ()
192+ 	return  dl .IsLevelWarn ()
174193}
175194
176195// IsLevelDebug method returns true if log level is DEBUG otherwise false. 
177196func  IsLevelDebug () bool  {
178- 	return  std .IsLevelDebug ()
197+ 	return  dl .IsLevelDebug ()
179198}
180199
181200// IsLevelTrace method returns true if log level is TRACE otherwise false. 
182201func  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 ()
184213}
185214
186215func  init () {
187216	cfg , _  :=  config .ParseString ("log { }" )
188- 	std , _  =  New (cfg )
217+ 	dl , _  =  New (cfg )
189218}
0 commit comments