2
0
mirror of synced 2025-02-23 22:28:11 +00:00

Upgrade to simplified logger

This commit is contained in:
Matt Joiner 2019-08-21 20:44:12 +10:00
parent dfcb852487
commit 5a2c1c9b76
7 changed files with 28 additions and 21 deletions

View File

@ -52,7 +52,7 @@ type Client struct {
closed missinggo.Event closed missinggo.Event
config *ClientConfig config *ClientConfig
logger *log.Logger logger log.Logger
peerID PeerID peerID PeerID
defaultStorage *storage.Client defaultStorage *storage.Client
@ -154,16 +154,15 @@ func (cl *Client) WriteStatus(_w io.Writer) {
const debugLogValue = log.Debug const debugLogValue = log.Debug
func (cl *Client) debugLogFilter(m *log.Msg) bool { func (cl *Client) debugLogFilter(m log.Msg) bool {
if !cl.config.Debug { if cl.config.Debug {
_, ok := m.Values()[debugLogValue] return true
return !ok
} }
return true return !m.HasValue(debugLogValue)
} }
func (cl *Client) initLogger() { 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 { func (cl *Client) announceKey() int32 {
@ -1036,7 +1035,7 @@ func (cl *Client) newTorrent(ih metainfo.Hash, specStorage storage.ClientImpl) (
}, },
duplicateRequestTimeout: 1 * time.Second, duplicateRequestTimeout: 1 * time.Second,
} }
t.logger = cl.logger.Clone().AddValue(t) t.logger = cl.logger.WithValues(t)
t.setChunkSize(defaultChunkSize) t.setChunkSize(defaultChunkSize)
return return
} }

View File

@ -8,6 +8,7 @@ import (
"github.com/anacrolix/dht/v2" "github.com/anacrolix/dht/v2"
"github.com/anacrolix/dht/v2/krpc" "github.com/anacrolix/dht/v2/krpc"
"github.com/anacrolix/log"
"github.com/anacrolix/missinggo" "github.com/anacrolix/missinggo"
"github.com/anacrolix/missinggo/conntrack" "github.com/anacrolix/missinggo/conntrack"
"github.com/anacrolix/missinggo/expect" "github.com/anacrolix/missinggo/expect"
@ -84,7 +85,8 @@ type ClientConfig struct {
DisableIPv4 bool DisableIPv4 bool
DisableIPv4Peers bool DisableIPv4Peers bool
// Perform logging and any other behaviour that will help debug. // Perform logging and any other behaviour that will help debug.
Debug bool `help:"enable debugging"` Debug bool `help:"enable debugging"`
Logger log.Logger
// HTTPProxy defines proxy for HTTP requests. // HTTPProxy defines proxy for HTTP requests.
// Format: func(*Request) (*url.URL, error), // Format: func(*Request) (*url.URL, error),
@ -167,6 +169,7 @@ func NewDefaultClientConfig() *ClientConfig {
CryptoSelector: mse.DefaultCryptoSelector, CryptoSelector: mse.DefaultCryptoSelector,
CryptoProvides: mse.AllSupportedCrypto, CryptoProvides: mse.AllSupportedCrypto,
ListenPort: 42069, ListenPort: 42069,
Logger: log.Default,
} }
cc.ConnTracker.SetNoMaxEntries() cc.ConnTracker.SetNoMaxEntries()
cc.ConnTracker.Timeout = func(conntrack.Entry) time.Duration { return 0 } cc.ConnTracker.Timeout = func(conntrack.Entry) time.Duration { return 0 }

7
go.mod
View File

@ -5,10 +5,11 @@ require (
github.com/RoaringBitmap/roaring v0.4.18 // indirect github.com/RoaringBitmap/roaring v0.4.18 // indirect
github.com/alexflint/go-arg v1.1.0 github.com/alexflint/go-arg v1.1.0
github.com/anacrolix/dht/v2 v2.0.1 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/go-libutp v1.0.2
github.com/anacrolix/log v0.2.0 github.com/anacrolix/log v0.2.2-0.20190821103111-726085c46ea1
github.com/anacrolix/missinggo v1.1.0 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/mmsg v1.0.0 // indirect
github.com/anacrolix/sync v0.0.0-20180808010631-44578de4e778 github.com/anacrolix/sync v0.0.0-20180808010631-44578de4e778
github.com/anacrolix/tagflag v0.0.0-20180803105420-3a8ff5428f76 github.com/anacrolix/tagflag v0.0.0-20180803105420-3a8ff5428f76

13
go.sum
View File

@ -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/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 h1:xCaATLKmn39QqLs3tUZYr6eKvezJV+FYvVOLTklxK6U=
github.com/anacrolix/envpprof v0.0.0-20180404065416-323002cec2fa/go.mod h1:KgHhUaQMc8cC0+cEflSgCFNFbKwi5h54gqtVn8yhP7c= 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 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 h1:cL2SfTCO418V+DQRdMEW+RNfO2InLqW6PsSLqHwmGR4=
github.com/anacrolix/go-libutp v1.0.2/go.mod h1:uIH0A72V++j0D1nnmTjjZUiH/ujPkFxYWkxQ02+7S0U= 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 h1:G8ITVMWuQL4adKRC3A6aBOo0YFJYcmpS3JFQd+rZrn0=
github.com/anacrolix/log v0.0.0-20180412014343-2323884b361d/go.mod h1:sf/7c2aTldL6sRQj/4UKyjgVZBu2+M2z9wf7MmwPiew= 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.2-0.20190821103111-726085c46ea1 h1:aaaFTLBK8GqKjl/3NAxmK3YPTl5zN65uiJzmf1bQT2g=
github.com/anacrolix/log v0.2.0/go.mod h1:sf/7c2aTldL6sRQj/4UKyjgVZBu2+M2z9wf7MmwPiew= 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-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.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 h1:E2Xb2SBsVzHJ1tNMW9QcckYEQcyBKz1ee8qVjeVRWys=
github.com/anacrolix/missinggo v0.2.1-0.20190310234110-9fbdc9f242a8/go.mod h1:MBJu3Sk/k3ZfGYcS7z18gwfu72Ey/xopPFJJbTi5yIo= 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.2-0.20190815015349-b888af804467/go.mod h1:MBJu3Sk/k3ZfGYcS7z18gwfu72Ey/xopPFJJbTi5yIo=
github.com/anacrolix/missinggo v1.1.0/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 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 v0.0.0-20180515031531-a4a3ba1fc8bb/go.mod h1:x2/ErsYUmT77kezS63+wzZp8E3byYB0gzirM/WMBLfw=
github.com/anacrolix/mmsg v1.0.0 h1:btC7YLjOn29aTUAExJiVUhQOuf/8rhm+/nWCMAnL3Hg= github.com/anacrolix/mmsg v1.0.0 h1:btC7YLjOn29aTUAExJiVUhQOuf/8rhm+/nWCMAnL3Hg=

View File

@ -1,10 +1,9 @@
package torrent package torrent
import ( import (
"log"
"time" "time"
flog "github.com/anacrolix/log" "github.com/anacrolix/log"
"github.com/elgatito/upnp" "github.com/elgatito/upnp"
) )
@ -28,7 +27,7 @@ func (cl *Client) forwardPort() {
cl.unlock() cl.unlock()
ds := upnp.Discover(0, 2*time.Second) ds := upnp.Discover(0, 2*time.Second)
cl.lock() 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() port := cl.incomingPeerPort()
cl.unlock() cl.unlock()
for _, d := range ds { for _, d := range ds {

View File

@ -41,7 +41,7 @@ type Torrent struct {
// alignment. See #262. // alignment. See #262.
stats ConnStats stats ConnStats
cl *Client cl *Client
logger *log.Logger logger log.Logger
networkingEnabled bool networkingEnabled bool

View File

@ -148,7 +148,7 @@ func TestEmptyFilesAndZeroPieceLengthWithMMapStorage(t *testing.T) {
func TestPieceHashFailed(t *testing.T) { func TestPieceHashFailed(t *testing.T) {
mi := testutil.GreetingMetaInfo() mi := testutil.GreetingMetaInfo()
cl := new(Client) cl := new(Client)
cl.config = &ClientConfig{} cl.config = TestingConfig()
cl.initLogger() cl.initLogger()
tt := cl.newTorrent(mi.HashInfoBytes(), badStorage{}) tt := cl.newTorrent(mi.HashInfoBytes(), badStorage{})
tt.setChunkSize(2) tt.setChunkSize(2)