Add SetLogger to *Conn
Allow replacing logger after connection is established. Also refactor internals of logging such that there is a log method that adds the pid to all log calls instead of making a new logger object. The reason for this is so pid will be logged regardless of whether loggers are replaced and restored.
This commit is contained in:
+20
-20
@@ -14,8 +14,8 @@ type msgReader struct {
|
||||
buf [128]byte
|
||||
msgBytesRemaining int32
|
||||
err error
|
||||
logger Logger
|
||||
logLevel int
|
||||
log func(lvl int, msg string, ctx ...interface{})
|
||||
logLevel *int
|
||||
}
|
||||
|
||||
// Err returns any error that the msgReader has experienced
|
||||
@@ -25,8 +25,8 @@ func (r *msgReader) Err() error {
|
||||
|
||||
// fatal tells r that a Fatal error has occurred
|
||||
func (r *msgReader) fatal(err error) {
|
||||
if r.logLevel >= LogLevelTrace {
|
||||
r.logger.Debug("msgReader.fatal", "error", err, "msgBytesRemaining", r.msgBytesRemaining)
|
||||
if *r.logLevel >= LogLevelTrace {
|
||||
r.log(LogLevelTrace, "msgReader.fatal", "error", err, "msgBytesRemaining", r.msgBytesRemaining)
|
||||
}
|
||||
r.err = err
|
||||
}
|
||||
@@ -38,8 +38,8 @@ func (r *msgReader) rxMsg() (byte, error) {
|
||||
}
|
||||
|
||||
if r.msgBytesRemaining > 0 {
|
||||
if r.logLevel >= LogLevelTrace {
|
||||
r.logger.Debug("msgReader.rxMsg discarding unread previous message", "msgBytesRemaining", r.msgBytesRemaining)
|
||||
if *r.logLevel >= LogLevelTrace {
|
||||
r.log(LogLevelTrace, "msgReader.rxMsg discarding unread previous message", "msgBytesRemaining", r.msgBytesRemaining)
|
||||
}
|
||||
|
||||
io.CopyN(ioutil.Discard, r.reader, int64(r.msgBytesRemaining))
|
||||
@@ -68,8 +68,8 @@ func (r *msgReader) readByte() byte {
|
||||
return 0
|
||||
}
|
||||
|
||||
if r.logLevel >= LogLevelTrace {
|
||||
r.logger.Debug("msgReader.readByte", "value", b, "byteAsString", string(b), "msgBytesRemaining", r.msgBytesRemaining)
|
||||
if *r.logLevel >= LogLevelTrace {
|
||||
r.log(LogLevelTrace, "msgReader.readByte", "value", b, "byteAsString", string(b), "msgBytesRemaining", r.msgBytesRemaining)
|
||||
}
|
||||
|
||||
return b
|
||||
@@ -95,8 +95,8 @@ func (r *msgReader) readInt16() int16 {
|
||||
|
||||
n := int16(binary.BigEndian.Uint16(b))
|
||||
|
||||
if r.logLevel >= LogLevelTrace {
|
||||
r.logger.Debug("msgReader.readInt16", "value", n, "msgBytesRemaining", r.msgBytesRemaining)
|
||||
if *r.logLevel >= LogLevelTrace {
|
||||
r.log(LogLevelTrace, "msgReader.readInt16", "value", n, "msgBytesRemaining", r.msgBytesRemaining)
|
||||
}
|
||||
|
||||
return n
|
||||
@@ -122,8 +122,8 @@ func (r *msgReader) readInt32() int32 {
|
||||
|
||||
n := int32(binary.BigEndian.Uint32(b))
|
||||
|
||||
if r.logLevel >= LogLevelTrace {
|
||||
r.logger.Debug("msgReader.readInt32", "value", n, "msgBytesRemaining", r.msgBytesRemaining)
|
||||
if *r.logLevel >= LogLevelTrace {
|
||||
r.log(LogLevelTrace, "msgReader.readInt32", "value", n, "msgBytesRemaining", r.msgBytesRemaining)
|
||||
}
|
||||
|
||||
return n
|
||||
@@ -149,8 +149,8 @@ func (r *msgReader) readInt64() int64 {
|
||||
|
||||
n := int64(binary.BigEndian.Uint64(b))
|
||||
|
||||
if r.logLevel >= LogLevelTrace {
|
||||
r.logger.Debug("msgReader.readInt64", "value", n, "msgBytesRemaining", r.msgBytesRemaining)
|
||||
if *r.logLevel >= LogLevelTrace {
|
||||
r.log(LogLevelTrace, "msgReader.readInt64", "value", n, "msgBytesRemaining", r.msgBytesRemaining)
|
||||
}
|
||||
|
||||
return n
|
||||
@@ -180,8 +180,8 @@ func (r *msgReader) readCString() string {
|
||||
|
||||
s := string(b[0 : len(b)-1])
|
||||
|
||||
if r.logLevel >= LogLevelTrace {
|
||||
r.logger.Debug("msgReader.readCString", "value", s, "msgBytesRemaining", r.msgBytesRemaining)
|
||||
if *r.logLevel >= LogLevelTrace {
|
||||
r.log(LogLevelTrace, "msgReader.readCString", "value", s, "msgBytesRemaining", r.msgBytesRemaining)
|
||||
}
|
||||
|
||||
return s
|
||||
@@ -214,8 +214,8 @@ func (r *msgReader) readString(count int32) string {
|
||||
|
||||
s := string(b)
|
||||
|
||||
if r.logLevel >= LogLevelTrace {
|
||||
r.logger.Debug("msgReader.readString", "value", s, "msgBytesRemaining", r.msgBytesRemaining)
|
||||
if *r.logLevel >= LogLevelTrace {
|
||||
r.log(LogLevelTrace, "msgReader.readString", "value", s, "msgBytesRemaining", r.msgBytesRemaining)
|
||||
}
|
||||
|
||||
return s
|
||||
@@ -241,8 +241,8 @@ func (r *msgReader) readBytes(count int32) []byte {
|
||||
return nil
|
||||
}
|
||||
|
||||
if r.logLevel >= LogLevelTrace {
|
||||
r.logger.Debug("msgReader.readBytes", "value", b, "msgBytesRemaining", r.msgBytesRemaining)
|
||||
if *r.logLevel >= LogLevelTrace {
|
||||
r.log(LogLevelTrace, "msgReader.readBytes", "value", b, "msgBytesRemaining", r.msgBytesRemaining)
|
||||
}
|
||||
|
||||
return b
|
||||
|
||||
Reference in New Issue
Block a user