diff --git a/Makefile b/Makefile index 3005ff6..b73108b 100644 --- a/Makefile +++ b/Makefile @@ -14,4 +14,5 @@ coverage: clean: go clean + rm -f clog.log rm -f coverage.out diff --git a/console.go b/console.go index 9ed3d01..eba7b02 100644 --- a/console.go +++ b/console.go @@ -47,6 +47,10 @@ func (l *consoleLogger) Write(m Messager) error { func init() { NewRegister(ModeConsole, func(v interface{}) (Logger, error) { + if v == nil { + v = ConsoleConfig{} + } + cfg, ok := v.(ConsoleConfig) if !ok { return nil, fmt.Errorf("invalid config object: want %T got %T", ConsoleConfig{}, v) diff --git a/console_test.go b/console_test.go index 66cd74f..b4d6b31 100644 --- a/console_test.go +++ b/console_test.go @@ -16,6 +16,10 @@ func Test_ModeConsole(t *testing.T) { wantLevel Level wantErr error }{ + { + name: "nil config", + wantErr: nil, + }, { name: "valid config", config: ConsoleConfig{ diff --git a/discord.go b/discord.go index af1b737..4336c84 100644 --- a/discord.go +++ b/discord.go @@ -165,6 +165,10 @@ func (l *discordLogger) Write(m Messager) error { func init() { NewRegister(ModeDiscord, func(v interface{}) (Logger, error) { + if v == nil { + v = DiscordConfig{} + } + cfg, ok := v.(DiscordConfig) if !ok { return nil, fmt.Errorf("invalid config object: want %T got %T", DiscordConfig{}, v) diff --git a/discord_test.go b/discord_test.go index e1a55da..77f0e78 100644 --- a/discord_test.go +++ b/discord_test.go @@ -20,6 +20,10 @@ func Test_ModeDiscord(t *testing.T) { wantLevel Level wantErr error }{ + { + name: "nil config", + wantErr: errors.New("initialize logger: empty URL"), + }, { name: "valid config", config: DiscordConfig{ diff --git a/file.go b/file.go index 0f900bd..b75711f 100644 --- a/file.go +++ b/file.go @@ -236,6 +236,12 @@ func (l *fileLogger) init() error { func init() { NewRegister(ModeFile, func(v interface{}) (Logger, error) { + if v == nil { + v = FileConfig{ + Filename: "clog.log", + } + } + cfg, ok := v.(FileConfig) if !ok { return nil, fmt.Errorf("invalid config object: want %T got %T", FileConfig{}, v) diff --git a/file_test.go b/file_test.go index 308b88a..726dbb9 100644 --- a/file_test.go +++ b/file_test.go @@ -19,6 +19,10 @@ func Test_ModeFile(t *testing.T) { wantLevel Level wantErr error }{ + { + name: "nil config", + wantErr: nil, + }, { name: "valid config", config: FileConfig{ diff --git a/slack.go b/slack.go index 900fa50..4e35091 100644 --- a/slack.go +++ b/slack.go @@ -107,6 +107,10 @@ func (l *slackLogger) Write(m Messager) error { func init() { NewRegister(ModeSlack, func(v interface{}) (Logger, error) { + if v == nil { + v = SlackConfig{} + } + cfg, ok := v.(SlackConfig) if !ok { return nil, fmt.Errorf("invalid config object: want %T got %T", SlackConfig{}, v) diff --git a/slack_test.go b/slack_test.go index ec4236a..87e1734 100644 --- a/slack_test.go +++ b/slack_test.go @@ -19,6 +19,10 @@ func Test_ModeSlack(t *testing.T) { wantLevel Level wantErr error }{ + { + name: "nil config", + wantErr: errors.New("initialize logger: empty URL"), + }, { name: "valid config", config: SlackConfig{