Skip to content

Commit a6b3750

Browse files
committed
*: all builtin loggers correctly handle empty config object
1 parent 8c244cf commit a6b3750

9 files changed

+35
-0
lines changed

Makefile

+1
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,5 @@ coverage:
1414

1515
clean:
1616
go clean
17+
rm -f clog.log
1718
rm -f coverage.out

console.go

+4
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ func (l *consoleLogger) Write(m Messager) error {
4747

4848
func init() {
4949
NewRegister(ModeConsole, func(v interface{}) (Logger, error) {
50+
if v == nil {
51+
v = ConsoleConfig{}
52+
}
53+
5054
cfg, ok := v.(ConsoleConfig)
5155
if !ok {
5256
return nil, fmt.Errorf("invalid config object: want %T got %T", ConsoleConfig{}, v)

console_test.go

+4
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ func Test_ModeConsole(t *testing.T) {
1616
wantLevel Level
1717
wantErr error
1818
}{
19+
{
20+
name: "nil config",
21+
wantErr: nil,
22+
},
1923
{
2024
name: "valid config",
2125
config: ConsoleConfig{

discord.go

+4
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,10 @@ func (l *discordLogger) Write(m Messager) error {
165165

166166
func init() {
167167
NewRegister(ModeDiscord, func(v interface{}) (Logger, error) {
168+
if v == nil {
169+
v = DiscordConfig{}
170+
}
171+
168172
cfg, ok := v.(DiscordConfig)
169173
if !ok {
170174
return nil, fmt.Errorf("invalid config object: want %T got %T", DiscordConfig{}, v)

discord_test.go

+4
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ func Test_ModeDiscord(t *testing.T) {
2020
wantLevel Level
2121
wantErr error
2222
}{
23+
{
24+
name: "nil config",
25+
wantErr: errors.New("initialize logger: empty URL"),
26+
},
2327
{
2428
name: "valid config",
2529
config: DiscordConfig{

file.go

+6
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,12 @@ func (l *fileLogger) init() error {
236236

237237
func init() {
238238
NewRegister(ModeFile, func(v interface{}) (Logger, error) {
239+
if v == nil {
240+
v = FileConfig{
241+
Filename: "clog.log",
242+
}
243+
}
244+
239245
cfg, ok := v.(FileConfig)
240246
if !ok {
241247
return nil, fmt.Errorf("invalid config object: want %T got %T", FileConfig{}, v)

file_test.go

+4
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ func Test_ModeFile(t *testing.T) {
1919
wantLevel Level
2020
wantErr error
2121
}{
22+
{
23+
name: "nil config",
24+
wantErr: nil,
25+
},
2226
{
2327
name: "valid config",
2428
config: FileConfig{

slack.go

+4
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,10 @@ func (l *slackLogger) Write(m Messager) error {
107107

108108
func init() {
109109
NewRegister(ModeSlack, func(v interface{}) (Logger, error) {
110+
if v == nil {
111+
v = SlackConfig{}
112+
}
113+
110114
cfg, ok := v.(SlackConfig)
111115
if !ok {
112116
return nil, fmt.Errorf("invalid config object: want %T got %T", SlackConfig{}, v)

slack_test.go

+4
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ func Test_ModeSlack(t *testing.T) {
1919
wantLevel Level
2020
wantErr error
2121
}{
22+
{
23+
name: "nil config",
24+
wantErr: errors.New("initialize logger: empty URL"),
25+
},
2226
{
2327
name: "valid config",
2428
config: SlackConfig{

0 commit comments

Comments
 (0)