@@ -2,8 +2,10 @@ package console
22
33import (
44 "bytes"
5+ "io"
56 stdlog "log"
67 "strings"
8+ "sync"
79 "testing"
810 "time"
911
@@ -21,7 +23,7 @@ import (
2123
2224func TestConsoleLogger (t * testing.T ) {
2325 tests := getConsoleLoggerTests ()
24- buff := new (bytes. Buffer )
26+ buff := new (buffer )
2527
2628 log .SetExitFunc (func (int ) {})
2729
@@ -94,7 +96,7 @@ func TestConsoleLogger(t *testing.T) {
9496func TestConsoleLoggerColor (t * testing.T ) {
9597 log .SetExitFunc (func (int ) {})
9698 tests := getConsoleLoggerColorTests ()
97- buff := new (bytes. Buffer )
99+ buff := new (buffer )
98100 cLog := New (false )
99101 cLog .SetWriter (buff )
100102 cLog .SetDisplayColor (true )
@@ -145,7 +147,7 @@ func TestConsoleLoggerColor(t *testing.T) {
145147 case log .PanicLevel :
146148 func () {
147149 defer func () {
148- recover ()
150+ _ = recover ()
149151 }()
150152
151153 if len (tt .printf ) == 0 {
@@ -169,7 +171,7 @@ func TestConsoleLoggerColor(t *testing.T) {
169171}
170172
171173func TestConsoleSTDLogCapturing (t * testing.T ) {
172- buff := new (bytes. Buffer )
174+ buff := new (buffer )
173175 cLog := New (true )
174176 cLog .SetDisplayColor (false )
175177 cLog .SetTimestampFormat ("MST" )
@@ -676,3 +678,115 @@ func getConsoleLoggerColorTests() []test {
676678 },
677679 }
678680}
681+
682+ type buffer struct {
683+ b bytes.Buffer
684+ m sync.Mutex
685+ }
686+
687+ func (b * buffer ) Read (p []byte ) (n int , err error ) {
688+ b .m .Lock ()
689+ defer b .m .Unlock ()
690+ return b .b .Read (p )
691+ }
692+ func (b * buffer ) Write (p []byte ) (n int , err error ) {
693+ b .m .Lock ()
694+ defer b .m .Unlock ()
695+ return b .b .Write (p )
696+ }
697+ func (b * buffer ) String () string {
698+ b .m .Lock ()
699+ defer b .m .Unlock ()
700+ return b .b .String ()
701+ }
702+
703+ func (b * buffer ) Bytes () []byte {
704+ b .m .Lock ()
705+ defer b .m .Unlock ()
706+ return b .b .Bytes ()
707+ }
708+ func (b * buffer ) Cap () int {
709+ b .m .Lock ()
710+ defer b .m .Unlock ()
711+ return b .b .Cap ()
712+ }
713+ func (b * buffer ) Grow (n int ) {
714+ b .m .Lock ()
715+ defer b .m .Unlock ()
716+ b .b .Grow (n )
717+ }
718+ func (b * buffer ) Len () int {
719+ b .m .Lock ()
720+ defer b .m .Unlock ()
721+ return b .b .Len ()
722+ }
723+ func (b * buffer ) Next (n int ) []byte {
724+ b .m .Lock ()
725+ defer b .m .Unlock ()
726+ return b .b .Next (n )
727+ }
728+ func (b * buffer ) ReadByte () (c byte , err error ) {
729+ b .m .Lock ()
730+ defer b .m .Unlock ()
731+ return b .b .ReadByte ()
732+ }
733+ func (b * buffer ) ReadBytes (delim byte ) (line []byte , err error ) {
734+ b .m .Lock ()
735+ defer b .m .Unlock ()
736+ return b .b .ReadBytes (delim )
737+ }
738+ func (b * buffer ) ReadFrom (r io.Reader ) (n int64 , err error ) {
739+ b .m .Lock ()
740+ defer b .m .Unlock ()
741+ return b .b .ReadFrom (r )
742+ }
743+ func (b * buffer ) ReadRune () (r rune , size int , err error ) {
744+ b .m .Lock ()
745+ defer b .m .Unlock ()
746+ return b .b .ReadRune ()
747+ }
748+ func (b * buffer ) ReadString (delim byte ) (line string , err error ) {
749+ b .m .Lock ()
750+ defer b .m .Unlock ()
751+ return b .b .ReadString (delim )
752+ }
753+ func (b * buffer ) Reset () {
754+ b .m .Lock ()
755+ defer b .m .Unlock ()
756+ b .b .Reset ()
757+ }
758+ func (b * buffer ) Truncate (n int ) {
759+ b .m .Lock ()
760+ defer b .m .Unlock ()
761+ b .b .Truncate (n )
762+ }
763+ func (b * buffer ) UnreadByte () error {
764+ b .m .Lock ()
765+ defer b .m .Unlock ()
766+ return b .b .UnreadByte ()
767+ }
768+ func (b * buffer ) UnreadRune () error {
769+ b .m .Lock ()
770+ defer b .m .Unlock ()
771+ return b .b .UnreadRune ()
772+ }
773+ func (b * buffer ) WriteByte (c byte ) error {
774+ b .m .Lock ()
775+ defer b .m .Unlock ()
776+ return b .b .WriteByte (c )
777+ }
778+ func (b * buffer ) WriteRune (r rune ) (n int , err error ) {
779+ b .m .Lock ()
780+ defer b .m .Unlock ()
781+ return b .b .WriteRune (r )
782+ }
783+ func (b * buffer ) WriteString (s string ) (n int , err error ) {
784+ b .m .Lock ()
785+ defer b .m .Unlock ()
786+ return b .b .WriteString (s )
787+ }
788+ func (b * buffer ) WriteTo (w io.Writer ) (n int64 , err error ) {
789+ b .m .Lock ()
790+ defer b .m .Unlock ()
791+ return b .b .WriteTo (w )
792+ }
0 commit comments