From 990004c937505d90732e8e7f004640bfa85833bf Mon Sep 17 00:00:00 2001 From: Maurus Cuelenaere Date: Fri, 23 Sep 2022 14:28:25 +0200 Subject: [PATCH] Make logger require an interface instead of a concrete implementation It is much easier to integrate 3rd-party log implementations by requiring an interface instead of requiring a Logger struct (which implements this interface). --- canal/config.go | 3 ++- canal/master.go | 4 ++-- replication/binlogsyncer.go | 4 +++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/canal/config.go b/canal/config.go index 47a1e81cd..3c11ccdb8 100644 --- a/canal/config.go +++ b/canal/config.go @@ -12,6 +12,7 @@ import ( "github.com/go-mysql-org/go-mysql/mysql" "github.com/pingcap/errors" "github.com/siddontang/go-log/log" + "github.com/siddontang/go-log/loggers" ) type DumpConfig struct { @@ -91,7 +92,7 @@ type Config struct { TLSConfig *tls.Config //Set Logger - Logger *log.Logger + Logger loggers.Advanced //Set Dialer Dialer client.Dialer diff --git a/canal/master.go b/canal/master.go index e9e84e2ce..c2cc462f0 100644 --- a/canal/master.go +++ b/canal/master.go @@ -4,7 +4,7 @@ import ( "sync" "github.com/go-mysql-org/go-mysql/mysql" - "github.com/siddontang/go-log/log" + "github.com/siddontang/go-log/loggers" ) type masterInfo struct { @@ -16,7 +16,7 @@ type masterInfo struct { timestamp uint32 - logger *log.Logger + logger loggers.Advanced } func (m *masterInfo) Update(pos mysql.Position) { diff --git a/replication/binlogsyncer.go b/replication/binlogsyncer.go index f1f44a4eb..fad228df4 100644 --- a/replication/binlogsyncer.go +++ b/replication/binlogsyncer.go @@ -11,6 +11,8 @@ import ( "sync" "time" + "github.com/siddontang/go-log/loggers" + "github.com/google/uuid" "github.com/pingcap/errors" "github.com/siddontang/go-log/log" @@ -112,7 +114,7 @@ type BinlogSyncerConfig struct { Option func(*client.Conn) error // Set Logger - Logger *log.Logger + Logger loggers.Advanced // Set Dialer Dialer client.Dialer