Skip to content

Commit c2fbbd6

Browse files
Fixed the testing and improved the CheckError function
1 parent 411f652 commit c2fbbd6

File tree

3 files changed

+20
-13
lines changed

3 files changed

+20
-13
lines changed

logger.go

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package log
22

33
import (
44
"fmt"
5+
"io"
56
"os"
67
"strings"
78
"time"
@@ -31,10 +32,10 @@ var DebugSQLMode = false
3132
var TimeZone *time.Location
3233

3334
// Stdout is the writer to where the stdout messages should be written (defaults to os.Stdout)
34-
var Stdout *os.File = os.Stdout
35+
var Stdout io.Writer = os.Stdout
3536

3637
// Stderr is the writer to where the stderr messages should be written (defaults to os.Stderr)
37-
var Stderr *os.File = os.Stderr
38+
var Stderr io.Writer = os.Stderr
3839

3940
// DefaultTimeFormat is the default format to use for the timestamps
4041
var DefaultTimeFormat = "2006-01-02 15:04:05.000"
@@ -222,11 +223,18 @@ func Fatalf(format string, args ...interface{}) {
222223
//
223224
// If DebugMode is enabled a stack trace will also be printed to stderr
224225
func CheckError(err error) {
225-
if err != nil {
226-
printMessage("FATAL", err.Error())
227-
if DebugMode {
228-
StackTrace(err)
229-
}
230-
OsExit(1)
226+
227+
if err == nil {
228+
return
229+
}
230+
231+
msg := err.Error()
232+
if DebugMode {
233+
msg = formatMessage(FormattedStackTrace(err))
231234
}
235+
236+
printMessage("FATAL", msg)
237+
238+
OsExit(1)
239+
232240
}

logger_internal.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import (
88
"time"
99

1010
"github.com/fatih/color"
11-
"github.com/mattn/go-colorable"
1211
)
1312

1413
var logMutex = &sync.Mutex{}
@@ -66,9 +65,9 @@ func printMessage(level string, message string) {
6665
}
6766

6867
if PrintColors {
69-
cw := colorable.NewColorable(w)
68+
// cw := colorable.NewColorable(w)
7069
if c, ok := colors[level]; ok {
71-
c.Fprintln(cw, message)
70+
c.Fprintln(w, message)
7271
return
7372
}
7473
}

logger_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -564,7 +564,7 @@ func TestCheckError(t *testing.T) {
564564
{"nil-debug-color", nil, true, "", "", -1},
565565

566566
{"err-release-nocolor", errors.New("test"), false, "", "test | FATAL | test\n", 1},
567-
{"err-debug-nocolor", errors.New("test"), true, "", "test | FATAL | test\ntest | ERROR | *errors.fundamental test\n", 1},
567+
{"err-debug-nocolor", errors.New("test"), true, "", "test | FATAL | *errors.fundamental test\n", 1},
568568
}
569569

570570
for _, tc := range tests {
@@ -593,7 +593,7 @@ func TestCheckError(t *testing.T) {
593593

594594
assert.Equal(t, tc.expectedStdout, actualStdOut)
595595
if tc.debug {
596-
assert.True(t, strings.HasPrefix(actualStdErr, tc.expectedStderr))
596+
assert.True(t, strings.HasPrefix(actualStdErr, tc.expectedStderr), actualStdErr)
597597
} else {
598598
assert.Equal(t, tc.expectedStderr, actualStdErr)
599599
}

0 commit comments

Comments
 (0)