Skip to content

Commit 500ecc1

Browse files
committed
setwriter added and cleanup
1 parent 8b50ed5 commit 500ecc1

File tree

8 files changed

+26
-65
lines changed

8 files changed

+26
-65
lines changed

console_receiver.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,11 @@ func (c *ConsoleReceiver) SetPattern(pattern string) error {
7070
return nil
7171
}
7272

73+
// SetWriter method sets the given writer into console receiver.
74+
func (c *ConsoleReceiver) SetWriter(w io.Writer) {
75+
c.out = w
76+
}
77+
7378
// IsCallerInfo method returns true if log receiver is configured with caller info
7479
// otherwise false.
7580
func (c *ConsoleReceiver) IsCallerInfo() bool {

console_receiver_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
package log
66

77
import (
8+
"io/ioutil"
89
"os"
910
"testing"
1011

@@ -95,6 +96,7 @@ func TestConsoleLoggerDefaults(t *testing.T) {
9596
logger, err := New(cfg)
9697
assert.NotNil(t, logger)
9798
assert.Nil(t, err)
99+
logger.SetWriter(ioutil.Discard)
98100

99101
// receiver nil scenario
100102
logger.receiver = nil

discard_receiver.go

Lines changed: 0 additions & 43 deletions
This file was deleted.

file_receiver.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,11 @@ func (f *FileReceiver) SetPattern(pattern string) error {
9191
return nil
9292
}
9393

94+
// SetWriter method sets the given writer into file receiver.
95+
func (f *FileReceiver) SetWriter(w io.Writer) {
96+
f.out = w
97+
}
98+
9499
// IsCallerInfo method returns true if log receiver is configured with caller info
95100
// otherwise false.
96101
func (f *FileReceiver) IsCallerInfo() bool {
@@ -173,7 +178,7 @@ func (f *FileReceiver) openFile() error {
173178
return err
174179
}
175180

176-
f.out = file
181+
f.SetWriter(file)
177182
f.isClosed = false
178183
f.stats = &receiverStats{}
179184
f.stats.bytes = fileStat.Size()

file_receiver_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
package log
66

77
import (
8+
"io/ioutil"
89
"testing"
910

1011
"aahframework.org/config.v0"
@@ -158,4 +159,5 @@ func testFileLogger(t *testing.T, cfgStr string, loop int) {
158159
}
159160

160161
assert.NotNil(t, logger.ToGoLogger())
162+
logger.SetWriter(ioutil.Discard)
161163
}

log.go

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,11 @@ var (
6464

6565
type (
6666
// Receiver is the interface for pluggable log receiver.
67-
// For e.g: Console, File, HTTP, etc
67+
// For e.g: Console, File
6868
Receiver interface {
6969
Init(cfg *config.Config) error
7070
SetPattern(pattern string) error
71+
SetWriter(w io.Writer)
7172
IsCallerInfo() bool
7273
Writer() io.Writer
7374
Log(e *Entry)
@@ -137,7 +138,7 @@ func (l *Logger) SetLevel(level string) error {
137138
return nil
138139
}
139140

140-
// SetPattern methods sets the log format pattern.
141+
// SetPattern method sets the log format pattern.
141142
func (l *Logger) SetPattern(pattern string) error {
142143
l.m.Lock()
143144
defer l.m.Unlock()
@@ -147,7 +148,7 @@ func (l *Logger) SetPattern(pattern string) error {
147148
return l.receiver.SetPattern(pattern)
148149
}
149150

150-
// SetReceiver sets the given receiver into logger instance.
151+
// SetReceiver method sets the given receiver into logger instance.
151152
func (l *Logger) SetReceiver(receiver Receiver) error {
152153
l.m.Lock()
153154
defer l.m.Unlock()
@@ -160,6 +161,13 @@ func (l *Logger) SetReceiver(receiver Receiver) error {
160161
return l.receiver.Init(l.cfg)
161162
}
162163

164+
// SetWriter method sets the given writer into logger instance.
165+
func (l *Logger) SetWriter(w io.Writer) {
166+
l.m.Lock()
167+
defer l.m.Unlock()
168+
l.receiver.SetWriter(w)
169+
}
170+
163171
// ToGoLogger method wraps the current log writer into Go Logger instance.
164172
func (l *Logger) ToGoLogger() *slog.Logger {
165173
return slog.New(l.receiver.Writer(), "", slog.LstdFlags)

log_test.go

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -66,14 +66,6 @@ func TestMisc(t *testing.T) {
6666
assert.NotNil(t, err)
6767
assert.Equal(t, "log: config is nil", err.Error())
6868

69-
// Discard
70-
discard := getReceiverByName("DISCARD")
71-
_ = discard.Init(nil)
72-
discard.Log(&Entry{})
73-
_ = discard.SetPattern("nothing")
74-
assert.False(t, discard.IsCallerInfo())
75-
assert.NotNil(t, discard.Writer())
76-
7769
// util
7870
assert.Nil(t, getReceiverByName("SMTP"))
7971
assert.Equal(t, "", formatTime(time.Time{}))

util.go

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -46,14 +46,6 @@ func levelByName(name string) level {
4646
return LevelUnknown
4747
}
4848

49-
func fmtFlagByName(name string) ess.FmtFlag {
50-
if flag, ok := FmtFlags[name]; ok {
51-
return flag
52-
}
53-
54-
return FmtFlagUnknown
55-
}
56-
5749
func isFmtFlagExists(flags []ess.FmtFlagPart, flag ess.FmtFlag) bool {
5850
for _, f := range flags {
5951
if f.Flag == flag {
@@ -85,8 +77,6 @@ func getReceiverByName(name string) Receiver {
8577
return &FileReceiver{}
8678
case "CONSOLE":
8779
return &ConsoleReceiver{}
88-
case "DISCARD":
89-
return &DiscardReceiver{}
9080
default:
9181
return nil
9282
}

0 commit comments

Comments
 (0)