Upgrade to simplified logger
This commit is contained in:
parent
dfcb852487
commit
5a2c1c9b76
15
client.go
15
client.go
@ -52,7 +52,7 @@ type Client struct {
|
||||
closed missinggo.Event
|
||||
|
||||
config *ClientConfig
|
||||
logger *log.Logger
|
||||
logger log.Logger
|
||||
|
||||
peerID PeerID
|
||||
defaultStorage *storage.Client
|
||||
@ -154,16 +154,15 @@ func (cl *Client) WriteStatus(_w io.Writer) {
|
||||
|
||||
const debugLogValue = log.Debug
|
||||
|
||||
func (cl *Client) debugLogFilter(m *log.Msg) bool {
|
||||
if !cl.config.Debug {
|
||||
_, ok := m.Values()[debugLogValue]
|
||||
return !ok
|
||||
}
|
||||
func (cl *Client) debugLogFilter(m log.Msg) bool {
|
||||
if cl.config.Debug {
|
||||
return true
|
||||
}
|
||||
return !m.HasValue(debugLogValue)
|
||||
}
|
||||
|
||||
func (cl *Client) initLogger() {
|
||||
cl.logger = log.Default.Clone().AddValue(cl).AddFilter(log.NewFilter(cl.debugLogFilter))
|
||||
cl.logger = cl.config.Logger.WithValues(cl).WithFilter(cl.debugLogFilter)
|
||||
}
|
||||
|
||||
func (cl *Client) announceKey() int32 {
|
||||
@ -1036,7 +1035,7 @@ func (cl *Client) newTorrent(ih metainfo.Hash, specStorage storage.ClientImpl) (
|
||||
},
|
||||
duplicateRequestTimeout: 1 * time.Second,
|
||||
}
|
||||
t.logger = cl.logger.Clone().AddValue(t)
|
||||
t.logger = cl.logger.WithValues(t)
|
||||
t.setChunkSize(defaultChunkSize)
|
||||
return
|
||||
}
|
||||
|
@ -8,6 +8,7 @@ import (
|
||||
|
||||
"github.com/anacrolix/dht/v2"
|
||||
"github.com/anacrolix/dht/v2/krpc"
|
||||
"github.com/anacrolix/log"
|
||||
"github.com/anacrolix/missinggo"
|
||||
"github.com/anacrolix/missinggo/conntrack"
|
||||
"github.com/anacrolix/missinggo/expect"
|
||||
@ -85,6 +86,7 @@ type ClientConfig struct {
|
||||
DisableIPv4Peers bool
|
||||
// Perform logging and any other behaviour that will help debug.
|
||||
Debug bool `help:"enable debugging"`
|
||||
Logger log.Logger
|
||||
|
||||
// HTTPProxy defines proxy for HTTP requests.
|
||||
// Format: func(*Request) (*url.URL, error),
|
||||
@ -167,6 +169,7 @@ func NewDefaultClientConfig() *ClientConfig {
|
||||
CryptoSelector: mse.DefaultCryptoSelector,
|
||||
CryptoProvides: mse.AllSupportedCrypto,
|
||||
ListenPort: 42069,
|
||||
Logger: log.Default,
|
||||
}
|
||||
cc.ConnTracker.SetNoMaxEntries()
|
||||
cc.ConnTracker.Timeout = func(conntrack.Entry) time.Duration { return 0 }
|
||||
|
7
go.mod
7
go.mod
@ -5,10 +5,11 @@ require (
|
||||
github.com/RoaringBitmap/roaring v0.4.18 // indirect
|
||||
github.com/alexflint/go-arg v1.1.0
|
||||
github.com/anacrolix/dht/v2 v2.0.1
|
||||
github.com/anacrolix/envpprof v0.0.0-20180404065416-323002cec2fa
|
||||
github.com/anacrolix/envpprof v1.0.0
|
||||
github.com/anacrolix/go-libutp v1.0.2
|
||||
github.com/anacrolix/log v0.2.0
|
||||
github.com/anacrolix/missinggo v1.1.0
|
||||
github.com/anacrolix/log v0.2.2-0.20190821103111-726085c46ea1
|
||||
github.com/anacrolix/missinggo v1.2.1
|
||||
github.com/anacrolix/missinggo/perf v1.0.0
|
||||
github.com/anacrolix/mmsg v1.0.0 // indirect
|
||||
github.com/anacrolix/sync v0.0.0-20180808010631-44578de4e778
|
||||
github.com/anacrolix/tagflag v0.0.0-20180803105420-3a8ff5428f76
|
||||
|
13
go.sum
13
go.sum
@ -14,19 +14,24 @@ github.com/anacrolix/dht/v2 v2.0.1 h1:gOHJ+OKqJ4Eb48OYStZm4AlWr1/nSA2TWlzb/+t36S
|
||||
github.com/anacrolix/dht/v2 v2.0.1/go.mod h1:GbTT8BaEtfqab/LPd5tY41f3GvYeii3mmDUK300Ycyo=
|
||||
github.com/anacrolix/envpprof v0.0.0-20180404065416-323002cec2fa h1:xCaATLKmn39QqLs3tUZYr6eKvezJV+FYvVOLTklxK6U=
|
||||
github.com/anacrolix/envpprof v0.0.0-20180404065416-323002cec2fa/go.mod h1:KgHhUaQMc8cC0+cEflSgCFNFbKwi5h54gqtVn8yhP7c=
|
||||
github.com/anacrolix/envpprof v1.0.0 h1:AwZ+mBP4rQ5f7JSsrsN3h7M2xDW/xSE66IPVOqlnuUc=
|
||||
github.com/anacrolix/envpprof v1.0.0/go.mod h1:KgHhUaQMc8cC0+cEflSgCFNFbKwi5h54gqtVn8yhP7c=
|
||||
github.com/anacrolix/go-libutp v0.0.0-20180522111405-6baeb806518d/go.mod h1:beQSaSxwH2d9Eeu5ijrEnHei5Qhk+J6cDm1QkWFru4E=
|
||||
github.com/anacrolix/go-libutp v1.0.2 h1:cL2SfTCO418V+DQRdMEW+RNfO2InLqW6PsSLqHwmGR4=
|
||||
github.com/anacrolix/go-libutp v1.0.2/go.mod h1:uIH0A72V++j0D1nnmTjjZUiH/ujPkFxYWkxQ02+7S0U=
|
||||
github.com/anacrolix/log v0.0.0-20180412014343-2323884b361d h1:G8ITVMWuQL4adKRC3A6aBOo0YFJYcmpS3JFQd+rZrn0=
|
||||
github.com/anacrolix/log v0.0.0-20180412014343-2323884b361d/go.mod h1:sf/7c2aTldL6sRQj/4UKyjgVZBu2+M2z9wf7MmwPiew=
|
||||
github.com/anacrolix/log v0.2.0 h1:LzaW6XTEk2zcmLZkcZPkJ2mDdnZkOdOTeBH7Kt81ouU=
|
||||
github.com/anacrolix/log v0.2.0/go.mod h1:sf/7c2aTldL6sRQj/4UKyjgVZBu2+M2z9wf7MmwPiew=
|
||||
github.com/anacrolix/log v0.2.2-0.20190821103111-726085c46ea1 h1:aaaFTLBK8GqKjl/3NAxmK3YPTl5zN65uiJzmf1bQT2g=
|
||||
github.com/anacrolix/log v0.2.2-0.20190821103111-726085c46ea1/go.mod h1:lWvLTqzAnCWPJA08T2HCstZi0L1y2Wyvm3FJgwU9jwU=
|
||||
github.com/anacrolix/missinggo v0.0.0-20180522035225-b4a5853e62ff/go.mod h1:b0p+7cn+rWMIphK1gDH2hrDuwGOcbB6V4VXeSsEfHVk=
|
||||
github.com/anacrolix/missinggo v0.0.0-20180725070939-60ef2fbf63df/go.mod h1:kwGiTUTZ0+p4vAz3VbAI5a30t2YbvemcmspjKwrAz5s=
|
||||
github.com/anacrolix/missinggo v0.2.1-0.20190310234110-9fbdc9f242a8 h1:E2Xb2SBsVzHJ1tNMW9QcckYEQcyBKz1ee8qVjeVRWys=
|
||||
github.com/anacrolix/missinggo v0.2.1-0.20190310234110-9fbdc9f242a8/go.mod h1:MBJu3Sk/k3ZfGYcS7z18gwfu72Ey/xopPFJJbTi5yIo=
|
||||
github.com/anacrolix/missinggo v1.1.0 h1:0lZbaNa6zTR1bELAIzCNmRGAtkHuLDPJqTiTtXoAIx8=
|
||||
github.com/anacrolix/missinggo v1.1.0/go.mod h1:MBJu3Sk/k3ZfGYcS7z18gwfu72Ey/xopPFJJbTi5yIo=
|
||||
github.com/anacrolix/missinggo v1.1.2-0.20190815015349-b888af804467/go.mod h1:MBJu3Sk/k3ZfGYcS7z18gwfu72Ey/xopPFJJbTi5yIo=
|
||||
github.com/anacrolix/missinggo v1.2.1 h1:0IE3TqX5y5D0IxeMwTyIgqdDew4QrzcXaaEnJQyjHvw=
|
||||
github.com/anacrolix/missinggo v1.2.1/go.mod h1:J5cMhif8jPmFoC3+Uvob3OXXNIhOUikzMt+uUjeM21Y=
|
||||
github.com/anacrolix/missinggo/perf v1.0.0 h1:7ZOGYziGEBytW49+KmYGTaNfnwUqP1HBsy6BqESAJVw=
|
||||
github.com/anacrolix/missinggo/perf v1.0.0/go.mod h1:ljAFWkBuzkO12MQclXzZrosP5urunoLS0Cbvb4V0uMQ=
|
||||
github.com/anacrolix/mmsg v0.0.0-20180515031531-a4a3ba1fc8bb h1:2Or5ccMoY4Kfao+WdL2w6tpY6ZEe+2VTVbIPd7A/Ajk=
|
||||
github.com/anacrolix/mmsg v0.0.0-20180515031531-a4a3ba1fc8bb/go.mod h1:x2/ErsYUmT77kezS63+wzZp8E3byYB0gzirM/WMBLfw=
|
||||
github.com/anacrolix/mmsg v1.0.0 h1:btC7YLjOn29aTUAExJiVUhQOuf/8rhm+/nWCMAnL3Hg=
|
||||
|
@ -1,10 +1,9 @@
|
||||
package torrent
|
||||
|
||||
import (
|
||||
"log"
|
||||
"time"
|
||||
|
||||
flog "github.com/anacrolix/log"
|
||||
"github.com/anacrolix/log"
|
||||
"github.com/elgatito/upnp"
|
||||
)
|
||||
|
||||
@ -28,7 +27,7 @@ func (cl *Client) forwardPort() {
|
||||
cl.unlock()
|
||||
ds := upnp.Discover(0, 2*time.Second)
|
||||
cl.lock()
|
||||
flog.Default.Handle(flog.Fmsg("discovered %d upnp devices", len(ds)))
|
||||
cl.logger.Printf("discovered %d upnp devices", len(ds))
|
||||
port := cl.incomingPeerPort()
|
||||
cl.unlock()
|
||||
for _, d := range ds {
|
||||
|
@ -41,7 +41,7 @@ type Torrent struct {
|
||||
// alignment. See #262.
|
||||
stats ConnStats
|
||||
cl *Client
|
||||
logger *log.Logger
|
||||
logger log.Logger
|
||||
|
||||
networkingEnabled bool
|
||||
|
||||
|
@ -148,7 +148,7 @@ func TestEmptyFilesAndZeroPieceLengthWithMMapStorage(t *testing.T) {
|
||||
func TestPieceHashFailed(t *testing.T) {
|
||||
mi := testutil.GreetingMetaInfo()
|
||||
cl := new(Client)
|
||||
cl.config = &ClientConfig{}
|
||||
cl.config = TestingConfig()
|
||||
cl.initLogger()
|
||||
tt := cl.newTorrent(mi.HashInfoBytes(), badStorage{})
|
||||
tt.setChunkSize(2)
|
||||
|
Loading…
x
Reference in New Issue
Block a user