@@ -65,7 +65,7 @@ const (
6565
6666var (
6767 // Version no. of aahframework.org/log library
68- Version = "0.3.1 "
68+ Version = "0.3.2 "
6969
7070 // FmtFlags is the list of log format flags supported by aah/log library
7171 // Usage of flag order is up to format composition.
@@ -124,7 +124,6 @@ type (
124124 m * sync.Mutex
125125 level Level
126126 receiver Receiver
127- ec chan * Entry
128127 }
129128)
130129
@@ -156,9 +155,6 @@ func New(cfg *config.Config) (*Logger, error) {
156155 return nil , err
157156 }
158157
159- logger .ec = make (chan * Entry , 1000 ) // TODO make it configurable
160- go logger .listenToEntry ()
161-
162158 return logger , nil
163159}
164160
@@ -186,6 +182,8 @@ func (l *Logger) SetLevel(level string) error {
186182
187183// SetPattern methods sets the log format pattern.
188184func (l * Logger ) SetPattern (pattern string ) error {
185+ l .m .Lock ()
186+ defer l .m .Unlock ()
189187 if l .receiver == nil {
190188 return ErrLogReceiverIsNil
191189 }
@@ -205,12 +203,6 @@ func (l *Logger) SetReceiver(receiver Receiver) error {
205203 return l .receiver .Init (l .cfg )
206204}
207205
208- // IsBufferEmpty returns true if logger buffer is empty otherwise false.
209- // This method can be used to ensure all the log entry is written successfully.
210- func (l * Logger ) IsBufferEmpty () bool {
211- return len (l .ec ) == 0
212- }
213-
214206//‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
215207// Logger logging methods
216208//_______________________________________
@@ -333,6 +325,7 @@ func (l *Logger) output(level Level, calldepth int, format *string, v ...interfa
333325 }
334326
335327 entry := getEntry ()
328+ defer putEntry (entry )
336329 entry .Time = time .Now ()
337330 entry .Level = level
338331 if format == nil {
@@ -345,14 +338,5 @@ func (l *Logger) output(level Level, calldepth int, format *string, v ...interfa
345338 entry .File , entry .Line = fetchCallerInfo (calldepth )
346339 }
347340
348- l .ec <- entry
349- }
350-
351- // listenToEntry method listens to entry channel and log the entry into receiver.
352- func (l Logger ) listenToEntry () {
353- for {
354- entry := <- l .ec
355- l .receiver .Log (entry )
356- putEntry (entry )
357- }
341+ l .receiver .Log (entry )
358342}
0 commit comments