Skip to content

Commit

Permalink
refactor: unexport logger
Browse files Browse the repository at this point in the history
  • Loading branch information
DarthPestilane committed Jan 30, 2024
1 parent b0acfa3 commit 7a2db09
Show file tree
Hide file tree
Showing 7 changed files with 30 additions and 82 deletions.
2 changes: 1 addition & 1 deletion benchmarks_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ func Benchmark_DefaultPacker_Unpack(b *testing.B) {
}

func beforeBench(b *testing.B) {
Log = &mutedLogger{}
_log = &mutedLogger{}
b.ReportAllocs()
b.ResetTimer()
}
2 changes: 1 addition & 1 deletion internal/examples/tcp/custom_packet/server/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ func init() {
}

func main() {
easytcp.Log = log
easytcp._log = log

Check failure on line 22 in internal/examples/tcp/custom_packet/server/main.go

View workflow job for this annotation

GitHub Actions / lint

_log not exported by package easytcp

s := easytcp.NewServer(&easytcp.ServerOption{
// specify codec and packer
Expand Down
23 changes: 9 additions & 14 deletions logger.go
Original file line number Diff line number Diff line change
@@ -1,33 +1,23 @@
//go:build go1.16
// +build go1.16

package easytcp

import (
"fmt"
"io"
"log"
"os"
)

var _ Logger = &DefaultLogger{}

// Log is the instance of Logger interface.
var Log Logger = newMuteLogger()
// _log is the instance of Logger interface.
var _log Logger = newDiscardLogger()

// Logger is the generic interface for log recording.
type Logger interface {
Errorf(format string, args ...interface{})
Tracef(format string, args ...interface{})
}

func newLogger() *DefaultLogger {
return &DefaultLogger{
rawLogger: log.New(os.Stdout, "easytcp ", log.Ldate|log.Ltime|log.Lmicroseconds|log.Lmsgprefix),
}
}

func newMuteLogger() *DefaultLogger {
func newDiscardLogger() *DefaultLogger {
return &DefaultLogger{
rawLogger: log.New(io.Discard, "easytcp", log.LstdFlags),
}
Expand All @@ -49,7 +39,12 @@ func (d *DefaultLogger) Tracef(format string, args ...interface{}) {
d.rawLogger.Printf("[TRACE] %s", fmt.Sprintf(format, args...))
}

// Log returns the package logger.
func Log() Logger {
return _log
}

// SetLogger sets the package logger.
func SetLogger(lg Logger) {
Log = lg
_log = lg
}
55 changes: 0 additions & 55 deletions logger_before_1.16.go

This file was deleted.

10 changes: 9 additions & 1 deletion logger_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,17 @@ package easytcp

import (
"github.com/stretchr/testify/assert"
"log"
"os"
"testing"
)

func newLogger() *DefaultLogger {
return &DefaultLogger{
rawLogger: log.New(os.Stdout, "easytcp ", log.Ldate|log.Ltime|log.Lmicroseconds|log.Lmsgprefix),
}
}

func TestDefaultLogger_Errorf(t *testing.T) {
lg := newLogger()
lg.Errorf("err: %s", "some error")
Expand All @@ -18,5 +26,5 @@ func TestDefaultLogger_Tracef(t *testing.T) {
func TestSetLogger(t *testing.T) {
lg := &mutedLogger{}
SetLogger(lg)
assert.Equal(t, Log, lg)
assert.Equal(t, Log(), lg)
}
4 changes: 2 additions & 2 deletions server.go
Original file line number Diff line number Diff line change
Expand Up @@ -119,14 +119,14 @@ func (s *Server) acceptLoop() error {
close(s.accepting)
for {
if s.isStopped() {
Log.Tracef("server accept loop stopped")
_log.Tracef("server accept loop stopped")
return ErrServerStopped
}

conn, err := s.Listener.Accept()
if err != nil {
if s.isStopped() {
Log.Tracef("server accept loop stopped")
_log.Tracef("server accept loop stopped")
return ErrServerStopped
}
return fmt.Errorf("accept err: %s", err)
Expand Down
16 changes: 8 additions & 8 deletions session.go
Original file line number Diff line number Diff line change
Expand Up @@ -150,17 +150,17 @@ func (s *session) readInbound(router *Router, timeout time.Duration) {
}
if timeout > 0 {
if err := s.conn.SetReadDeadline(time.Now().Add(timeout)); err != nil {
Log.Errorf("session %s set read deadline err: %s", s.id, err)
_log.Errorf("session %s set read deadline err: %s", s.id, err)
break
}
}
reqMsg, err := s.packer.Unpack(s.conn)
if err != nil {
logMsg := fmt.Sprintf("session %s unpack inbound packet err: %s", s.id, err)
if err == io.EOF {
Log.Tracef(logMsg)
_log.Tracef(logMsg)
} else {
Log.Errorf(logMsg)
_log.Errorf(logMsg)
}
break
}
Expand All @@ -174,7 +174,7 @@ func (s *session) readInbound(router *Router, timeout time.Duration) {
s.handleReq(router, reqMsg)
}
}
Log.Tracef("session %s readInbound exit because of error", s.id)
_log.Tracef("session %s readInbound exit because of error", s.id)
s.Close()
}

Expand All @@ -198,7 +198,7 @@ func (s *session) writeOutbound(writeTimeout time.Duration) {

outboundBytes, err := s.packResponse(ctx)
if err != nil {
Log.Errorf("session %s pack outbound message err: %s", s.id, err)
_log.Errorf("session %s pack outbound message err: %s", s.id, err)
continue
}
if outboundBytes == nil {
Expand All @@ -207,18 +207,18 @@ func (s *session) writeOutbound(writeTimeout time.Duration) {

if writeTimeout > 0 {
if err := s.conn.SetWriteDeadline(time.Now().Add(writeTimeout)); err != nil {
Log.Errorf("session %s set write deadline err: %s", s.id, err)
_log.Errorf("session %s set write deadline err: %s", s.id, err)
break
}
}

if _, err := s.conn.Write(outboundBytes); err != nil {
Log.Errorf("session %s conn write err: %s", s.id, err)
_log.Errorf("session %s conn write err: %s", s.id, err)
break
}
}
s.Close()
Log.Tracef("session %s writeOutbound exit because of error", s.id)
_log.Tracef("session %s writeOutbound exit because of error", s.id)
}

func (s *session) packResponse(ctx Context) ([]byte, error) {
Expand Down

0 comments on commit 7a2db09

Please sign in to comment.