diff --git a/notepad.go b/notepad.go
index ea34586..a35d7a8 100644
--- a/notepad.go
+++ b/notepad.go
@@ -14,6 +14,10 @@
 
 type Threshold int
 
+func (t Threshold) String() string {
+	return prefixes[t]
+}
+
 const (
 	LevelTrace Threshold = iota
 	LevelDebug
@@ -25,13 +29,17 @@
 )
 
 var prefixes map[Threshold]string = map[Threshold]string{
-	LevelTrace:    "TRACE ",
-	LevelDebug:    "DEBUG ",
-	LevelInfo:     "INFO ",
-	LevelWarn:     "WARN ",
-	LevelError:    "ERROR ",
-	LevelCritical: "CRITICAL ",
-	LevelFatal:    "FATAL ",
+	LevelTrace:    "TRACE",
+	LevelDebug:    "DEBUG",
+	LevelInfo:     "INFO",
+	LevelWarn:     "WARN",
+	LevelError:    "ERROR",
+	LevelCritical: "CRITICAL",
+	LevelFatal:    "FATAL",
+}
+
+func prefix(t Threshold) string {
+	return t.String() + " "
 }
 
 // Notepad is where you leave a note !
@@ -106,16 +114,16 @@
 
 		switch {
 		case threshold >= n.logThreshold && threshold >= n.stdoutThreshold:
-			*logger = log.New(io.MultiWriter(counter, bothHandle), n.prefix+prefixes[threshold], n.flags)
+			*logger = log.New(io.MultiWriter(counter, bothHandle), n.prefix+prefix(threshold), n.flags)
 
 		case threshold >= n.logThreshold:
-			*logger = log.New(io.MultiWriter(counter, n.logHandle), n.prefix+prefixes[threshold], n.flags)
+			*logger = log.New(io.MultiWriter(counter, n.logHandle), n.prefix+prefix(threshold), n.flags)
 
 		case threshold >= n.stdoutThreshold:
-			*logger = log.New(io.MultiWriter(counter, os.Stdout), n.prefix+prefixes[threshold], n.flags)
+			*logger = log.New(io.MultiWriter(counter, os.Stdout), n.prefix+prefix(threshold), n.flags)
 
 		default:
-			*logger = log.New(counter, n.prefix+prefixes[threshold], n.flags)
+			*logger = log.New(counter, n.prefix+prefix(threshold), n.flags)
 		}
 	}
 }
diff --git a/notepad_test.go b/notepad_test.go
index 7f6739b..66a3cf4 100644
--- a/notepad_test.go
+++ b/notepad_test.go
@@ -31,3 +31,8 @@
 	require.Equal(t, n.LogCountForLevel(LevelDebug), uint64(1))
 	require.Equal(t, n.LogCountForLevel(LevelTrace), uint64(0))
 }
+
+func TestThresholdString(t *testing.T) {
+	require.Equal(t, LevelError.String(), "ERROR")
+	require.Equal(t, LevelTrace.String(), "TRACE")
+}
