@cryptotaxi247 / kubo / commits / 972c0f7b4

u.DOut -> log.Debug

and other logging switches. I kept the u.PErr and u.POut in cli commands, as those do need to write raw output directly.

Juan Batiz-Benet committed Oct 9, 2014 at 04:48 UTC 972c0f7b4b909415f3bf69a95109f408cc60c230
19 files changed +68 -74
core/core.go
+5 -5
@@ -213,12 +213,12 @@ func initIdentity(cfg *config.Config, online bool) (*peer.Peer, error) {
213 func initConnections(ctx context.Context, cfg *config.Config, pstore peer.Peerstore, route *dht.IpfsDHT) {
214 for _, p := range cfg.Bootstrap {
215 if p.PeerID == "" {
216 - u.PErr("error: peer does not include PeerID. %v\n", p)
216 + log.Error("error: peer does not include PeerID. %v", p)
217 }
218
219 maddr, err := ma.NewMultiaddr(p.Address)
220 if err != nil {
221 - u.PErr("error: %v\n", err)
221 + log.Error("%s", err)
222 continue
223 }
224
@@ -227,12 +227,12 @@ func initConnections(ctx context.Context, cfg *config.Config, pstore peer.Peerst
227 npeer.AddAddress(maddr)
228
229 if err = pstore.Put(npeer); err != nil {
230 - u.PErr("Bootstrapping error: %v\n", err)
230 + log.Error("Bootstrapping error: %v", err)
231 continue
232 }
233
234 if _, err = route.Connect(ctx, npeer); err != nil {
235 - u.PErr("Bootstrapping error: %v\n", err)
235 + log.Error("Bootstrapping error: %v", err)
236 }
237 }
238 }
@@ -244,6 +244,6 @@ func (n *IpfsNode) PinDagNode(nd *merkledag.Node) error {
244
245 // PinDagNodeRecursively ensures a given node is stored persistently locally
246 func (n *IpfsNode) PinDagNodeRecursively(nd *merkledag.Node, depth int) error {
247 - u.DOut("Pinning node recursively. Currently No-Op\n")
247 + log.Debug("Pinning node recursively. Currently No-Op")
248 return nil
249 }
crypto/key.go
+3 -1
@@ -19,6 +19,8 @@ import (
19 u "github.com/jbenet/go-ipfs/util"
20 )
21
22 +var log = u.Logger("crypto")
23 +
24 var ErrBadKeyType = errors.New("invalid or unsupported key type")
25
26 const (
@@ -97,7 +99,7 @@ func GenerateEKeyPair(curveName string) ([]byte, GenSharedKey, error) {
99 }
100
101 pubKey := elliptic.Marshal(curve, x, y)
100 - u.PErr("GenerateEKeyPair %d\n", len(pubKey))
102 + log.Debug("GenerateEKeyPair %d", len(pubKey))
103
104 done := func(theirPub []byte) ([]byte, error) {
105 // Verify and unpack node's public key.
crypto/spipe/handshake.go
+7 -5
@@ -23,6 +23,8 @@ import (
23 u "github.com/jbenet/go-ipfs/util"
24 )
25
26 +var log = u.Logger("handshake")
27 +
28 // List of supported ECDH curves
29 var SupportedExchanges = "P-256,P-224,P-384,P-521"
30
@@ -49,7 +51,7 @@ func (s *SecurePipe) handshake() error {
51 return err
52 }
53
52 - // u.DOut("handshake: %s <--> %s\n", s.local, s.remote)
54 + log.Debug("handshake: %s <--> %s", s.local, s.remote)
55 myPubKey, err := s.local.PubKey.Bytes()
56 if err != nil {
57 return err
@@ -101,7 +103,7 @@ func (s *SecurePipe) handshake() error {
103 if err != nil {
104 return err
105 }
104 - u.DOut("%s Remote Peer Identified as %s\n", s.local, s.remote)
106 + log.Debug("%s Remote Peer Identified as %s", s.local, s.remote)
107
108 exchange, err := selectBest(SupportedExchanges, proposeResp.GetExchanges())
109 if err != nil {
@@ -205,7 +207,7 @@ func (s *SecurePipe) handshake() error {
207 return errors.New("Negotiation failed.")
208 }
209
208 - u.DOut("%s handshake: Got node id: %s\n", s.local, s.remote)
210 + log.Debug("%s handshake: Got node id: %s", s.local, s.remote)
211 return nil
212 }
213
@@ -233,7 +235,7 @@ func (s *SecurePipe) handleSecureIn(hashType string, tIV, tCKey, tMKey []byte) {
235 return
236 }
237
236 - // u.DOut("[peer %s] secure in [from = %s] %d\n", s.local, s.remote, len(data))
238 + // log.Debug("[peer %s] secure in [from = %s] %d", s.local, s.remote, len(data))
239 if len(data) <= macSize {
240 continue
241 }
@@ -281,7 +283,7 @@ func (s *SecurePipe) handleSecureOut(hashType string, mIV, mCKey, mMKey []byte)
283 copy(buff[len(data):], myMac.Sum(nil))
284 myMac.Reset()
285
284 - // u.DOut("[peer %s] secure out [to = %s] %d\n", s.local, s.remote, len(buff))
286 + // log.Debug("[peer %s] secure out [to = %s] %d", s.local, s.remote, len(buff))
287 s.insecure.Out <- buff
288 }
289 }
daemon/daemon.go
+1 -1
@@ -122,7 +122,7 @@ func (dl *DaemonListener) handleConnection(conn net.Conn) {
122 return
123 }
124
125 - u.DOut("Got command: %v\n", command)
125 + log.Debug("Got command: %v", command)
126 switch command.Command {
127 case "add":
128 err = commands.Add(dl.node, command.Args, command.Opts, conn)
exchange/bitswap/bitswap.go
+8 -6
@@ -15,6 +15,8 @@ import (
15 u "github.com/jbenet/go-ipfs/util"
16 )
17
18 +var log = u.Logger("bitswap")
19 +
20 // NetMessageSession initializes a BitSwap session that communicates over the
21 // provided NetMessage service
22 func NetMessageSession(parent context.Context, p *peer.Peer, s bsnet.NetMessageService, directory bsnet.Routing, d ds.Datastore, nice bool) exchange.Interface {
@@ -61,7 +63,7 @@ type bitswap struct {
63 //
64 // TODO ensure only one active request per key
65 func (bs *bitswap) Block(parent context.Context, k u.Key) (*blocks.Block, error) {
64 - u.DOut("Get Block %v\n", k)
66 + log.Debug("Get Block %v", k)
67
68 ctx, cancelFunc := context.WithCancel(parent)
69 bs.wantlist.Add(k)
@@ -77,7 +79,7 @@ func (bs *bitswap) Block(parent context.Context, k u.Key) (*blocks.Block, error)
79 }
80 message.AppendWanted(k)
81 for iiiii := range peersToQuery {
80 - // u.DOut("bitswap got peersToQuery: %s\n", iiiii)
82 + // log.Debug("bitswap got peersToQuery: %s", iiiii)
83 go func(p *peer.Peer) {
84 response, err := bs.sender.SendRequest(ctx, p, message)
85 if err != nil {
@@ -110,7 +112,7 @@ func (bs *bitswap) Block(parent context.Context, k u.Key) (*blocks.Block, error)
112 // HasBlock announces the existance of a block to bitswap, potentially sending
113 // it to peers (Partners) whose WantLists include it.
114 func (bs *bitswap) HasBlock(ctx context.Context, blk blocks.Block) error {
113 - u.DOut("Has Block %v\n", blk.Key())
115 + log.Debug("Has Block %v", blk.Key())
116 bs.wantlist.Remove(blk.Key())
117 bs.sendToPeersThatWant(ctx, blk)
118 return bs.routing.Provide(ctx, blk.Key())
@@ -119,7 +121,7 @@ func (bs *bitswap) HasBlock(ctx context.Context, blk blocks.Block) error {
121 // TODO(brian): handle errors
122 func (bs *bitswap) ReceiveMessage(ctx context.Context, p *peer.Peer, incoming bsmsg.BitSwapMessage) (
123 *peer.Peer, bsmsg.BitSwapMessage) {
122 - u.DOut("ReceiveMessage from %v\n", p.Key())
124 + log.Debug("ReceiveMessage from %v", p.Key())
125
126 if p == nil {
127 // TODO propagate the error upward
@@ -173,10 +175,10 @@ func (bs *bitswap) send(ctx context.Context, p *peer.Peer, m bsmsg.BitSwapMessag
175 }
176
177 func (bs *bitswap) sendToPeersThatWant(ctx context.Context, block blocks.Block) {
176 - u.DOut("Sending %v to peers that want it\n", block.Key())
178 + log.Debug("Sending %v to peers that want it", block.Key())
179 for _, p := range bs.strategy.Peers() {
180 if bs.strategy.BlockIsWantedByPeer(block.Key(), p) {
179 - u.DOut("%v wants %v\n", p, block.Key())
181 + log.Debug("%v wants %v", p, block.Key())
182 if bs.strategy.ShouldSendBlockToPeer(block.Key(), p) {
183 message := bsmsg.New()
184 message.AppendBlock(block)
fuse/readonly/readonly_unix.go
+2 -2
@@ -106,7 +106,7 @@ func (s *Node) Attr() fuse.Attr {
106 Blocks: uint64(len(s.Nd.Links)),
107 }
108 default:
109 - u.PErr("Invalid data type.")
109 + log.Error("Invalid data type.")
110 return fuse.Attr{}
111 }
112 }
@@ -143,7 +143,7 @@ func (s *Node) ReadDir(intr fs.Intr) ([]fuse.Dirent, fuse.Error) {
143
144 // ReadAll reads the object data as file data
145 func (s *Node) ReadAll(intr fs.Intr) ([]byte, fuse.Error) {
146 - u.DOut("Read node.\n")
146 + log.Debug("Read node.")
147 r, err := uio.NewDagReader(s.Nd, s.Ipfs.DAG)
148 if err != nil {
149 return nil, err
net/conn/conn.go
+3 -1
@@ -12,6 +12,8 @@ import (
12 u "github.com/jbenet/go-ipfs/util"
13 )
14
15 +var log = u.Logger("conn")
16 +
17 // ChanBuffer is the size of the buffer in the Conn Chan
18 const ChanBuffer = 10
19
@@ -87,7 +89,7 @@ func (c *Conn) newChans() error {
89
90 // Close closes the connection, and associated channels.
91 func (c *Conn) Close() error {
90 - u.DOut("Closing Conn.\n")
92 + log.Debug("Closing Conn with %v", c.Peer)
93 if c.Conn == nil {
94 return fmt.Errorf("Already closed") // already closed
95 }
net/mux/mux.go
+6 -4
@@ -11,6 +11,8 @@ import (
11 proto "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/goprotobuf/proto"
12 )
13
14 +var log = u.Logger("muxer")
15 +
16 // Protocol objects produce + consume raw data. They are added to the Muxer
17 // with a ProtocolID, which is added to outgoing payloads. Muxer properly
18 // encapsulates and decapsulates when interfacing with its Protocols. The
@@ -125,21 +127,21 @@ func (m *Muxer) handleIncomingMessage(m1 msg.NetMessage) {
127
128 data, pid, err := unwrapData(m1.Data())
129 if err != nil {
128 - u.PErr("muxer de-serializing error: %v\n", err)
130 + log.Error("muxer de-serializing error: %v", err)
131 return
132 }
133
134 m2 := msg.New(m1.Peer(), data)
135 proto, found := m.Protocols[pid]
136 if !found {
135 - u.PErr("muxer unknown protocol %v\n", pid)
137 + log.Error("muxer unknown protocol %v", pid)
138 return
139 }
140
141 select {
142 case proto.GetPipe().Incoming <- m2:
143 case <-m.ctx.Done():
142 - u.PErr("%v\n", m.ctx.Err())
144 + log.Error("%s", m.ctx.Err())
145 return
146 }
147 }
@@ -167,7 +169,7 @@ func (m *Muxer) handleOutgoingMessages(pid ProtocolID, proto Protocol) {
169 func (m *Muxer) handleOutgoingMessage(pid ProtocolID, m1 msg.NetMessage) {
170 data, err := wrapData(m1.Data(), pid)
171 if err != nil {
170 - u.PErr("muxer serializing error: %v\n", err)
172 + log.Error("muxer serializing error: %v", err)
173 return
174 }
175
net/mux/mux_test.go
+4 -4
@@ -136,7 +136,7 @@ func TestSimultMuxer(t *testing.T) {
136 m := msg.New(peer1, []byte(s))
137 mux1.Protocols[pid].GetPipe().Outgoing <- m
138 counts[pid][0][0]++
139 - u.DOut("sent %v\n", s)
139 + // log.Debug("sent %v", s)
140 }
141 }
142
@@ -153,7 +153,7 @@ func TestSimultMuxer(t *testing.T) {
153 m := msg.New(peer1, d)
154 mux1.Incoming <- m
155 counts[pid][1][0]++
156 - u.DOut("sent %v\n", s)
156 + // log.Debug("sent %v", s)
157 }
158 }
159
@@ -166,7 +166,7 @@ func TestSimultMuxer(t *testing.T) {
166 t.Error(err)
167 }
168
169 - u.DOut("got %v\n", string(data))
169 + // log.Debug("got %v", string(data))
170 counts[pid][1][1]++
171
172 case <-ctx.Done():
@@ -180,7 +180,7 @@ func TestSimultMuxer(t *testing.T) {
180 select {
181 case m := <-mux1.Protocols[pid].GetPipe().Incoming:
182 counts[pid][0][1]++
183 - u.DOut("got %v\n", string(m.Data()))
183 + // log.Debug("got %v", string(m.Data()))
184 case <-ctx.Done():
185 return
186 }
net/service/service.go
+8 -6
@@ -10,6 +10,8 @@ import (
10 context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
11 )
12
13 +var log = u.Logger("service")
14 +
15 // ErrNoResponse is returned by Service when a Request did not get a response,
16 // and no other error happened
17 var ErrNoResponse = errors.New("no response to request")
@@ -82,7 +84,7 @@ func (s *Service) sendMessage(ctx context.Context, m msg.NetMessage, rid Request
84 return err
85 }
86
85 - // u.DOut("Service send message [to = %s]\n", m.Peer())
87 + // log.Debug("Service send message [to = %s]", m.Peer())
88
89 // send message
90 m2 := msg.New(m.Peer(), data)
@@ -169,14 +171,14 @@ func (s *Service) handleIncomingMessage(ctx context.Context, m msg.NetMessage) {
171 // unwrap the incoming message
172 data, rid, err := unwrapData(m.Data())
173 if err != nil {
172 - u.PErr("de-serializing error: %v\n", err)
174 + log.Error("de-serializing error: %v", err)
175 }
176 m2 := msg.New(m.Peer(), data)
177
178 // if it's a request (or has no RequestID), handle it
179 if rid == nil || rid.IsRequest() {
180 if s.Handler == nil {
179 - u.PErr("service dropped msg: %v\n", m)
181 + log.Error("service dropped msg: %v", m)
182 return // no handler, drop it.
183 }
184
@@ -187,7 +189,7 @@ func (s *Service) handleIncomingMessage(ctx context.Context, m msg.NetMessage) {
189 if r1 != nil {
190 err := s.sendMessage(ctx, r1, rid.Response())
191 if err != nil {
190 - u.PErr("error sending response message: %v\n", err)
192 + log.Error("error sending response message: %v", err)
193 }
194 }
195 return
@@ -195,7 +197,7 @@ func (s *Service) handleIncomingMessage(ctx context.Context, m msg.NetMessage) {
197
198 // Otherwise, it is a response. handle it.
199 if !rid.IsResponse() {
198 - u.PErr("RequestID should identify a response here.\n")
200 + log.Error("RequestID should identify a response here.")
201 }
202
203 key := RequestKey(m.Peer().ID, RequestID(rid))
@@ -204,7 +206,7 @@ func (s *Service) handleIncomingMessage(ctx context.Context, m msg.NetMessage) {
206 s.RequestsLock.RUnlock()
207
208 if !found {
207 - u.PErr("no request key %v (timeout?)\n", []byte(key))
209 + log.Error("no request key %v (timeout?)", []byte(key))
210 return
211 }
212
net/swarm/conn.go
+6 -7
@@ -8,7 +8,6 @@ import (
8 spipe "github.com/jbenet/go-ipfs/crypto/spipe"
9 conn "github.com/jbenet/go-ipfs/net/conn"
10 msg "github.com/jbenet/go-ipfs/net/message"
11 - u "github.com/jbenet/go-ipfs/util"
11
12 ma "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr"
13 )
@@ -26,7 +25,7 @@ func (s *Swarm) listen() error {
25 if err != nil {
26 hasErr = true
27 retErr.Errors[i] = err
29 - u.PErr("Failed to listen on: %s [%s]", addr, err)
28 + log.Error("Failed to listen on: %s [%s]", addr, err)
29 }
30 }
31
@@ -106,16 +105,16 @@ func (s *Swarm) connSetup(c *conn.Conn) error {
105 }
106
107 if c.Peer != nil {
109 - u.DOut("Starting connection: %s\n", c.Peer)
108 + log.Debug("Starting connection: %s", c.Peer)
109 } else {
111 - u.DOut("Starting connection: [unknown peer]\n")
110 + log.Debug("Starting connection: [unknown peer]")
111 }
112
113 if err := s.connSecure(c); err != nil {
114 return fmt.Errorf("Conn securing error: %v", err)
115 }
116
118 - u.DOut("Secured connection: %s\n", c.Peer)
117 + log.Debug("Secured connection: %s", c.Peer)
118
119 // add address of connection to Peer. Maybe it should happen in connSecure.
120 c.Peer.AddAddress(c.Addr)
@@ -184,7 +183,7 @@ func (s *Swarm) fanOut() {
183 continue
184 }
185
187 - // u.DOut("[peer: %s] Sent message [to = %s]\n", s.local, msg.Peer())
186 + // log.Debug("[peer: %s] Sent message [to = %s]", s.local, msg.Peer())
187
188 // queue it in the connection's buffer
189 conn.Secure.Out <- msg.Data()
@@ -212,7 +211,7 @@ func (s *Swarm) fanIn(c *conn.Conn) {
211 goto out
212 }
213
215 - // u.DOut("[peer: %s] Received message [from = %s]\n", s.local, c.Peer)
214 + // log.Debug("[peer: %s] Received message [from = %s]", s.local, c.Peer)
215
216 msg := msg.New(c.Peer, data)
217 s.Incoming <- msg
net/swarm/swarm.go
+2
@@ -15,6 +15,8 @@ import (
15 ma "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr"
16 )
17
18 +var log = u.Logger("swarm")
19 +
20 // ErrAlreadyOpen signals that a connection to a peer is already open.
21 var ErrAlreadyOpen = errors.New("Error: Connection to this peer already open.")
22
path/path.go
+2 -2
@@ -40,11 +40,11 @@ func (s *Resolver) ResolvePath(fpath string) (*merkledag.Node, error) {
40 // first element in the path is a b58 hash (for now)
41 h, err := mh.FromB58String(parts[0])
42 if err != nil {
43 - u.DOut("given path element is not a base58 string.\n")
43 + log.Debug("given path element is not a base58 string.\n")
44 return nil, err
45 }
46
47 - u.DOut("Resolve dag get.\n")
47 + log.Debug("Resolve dag get.\n")
48 nd, err := s.DAG.Get(u.Key(h))
49 if err != nil {
50 return nil, err
routing/dht/Message.go
+1 -2
@@ -3,7 +3,6 @@ package dht
3 import (
4 "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/goprotobuf/proto"
5 peer "github.com/jbenet/go-ipfs/peer"
6 - u "github.com/jbenet/go-ipfs/util"
6 )
7
8 func newMessage(typ Message_MessageType, key string, level int) *Message {
@@ -42,7 +41,7 @@ func peersToPBPeers(peers []*peer.Peer) []*Message_Peer {
41 func (m *Message) GetClusterLevel() int {
42 level := m.GetClusterLevelRaw() - 1
43 if level < 0 {
45 - u.DErr("GetClusterLevel: no routing level specified, assuming 0\n")
44 + log.Error("GetClusterLevel: no routing level specified, assuming 0")
45 level = 0
46 }
47 return int(level)
routing/dht/dht_logger.go
+2 -4
@@ -3,8 +3,6 @@ package dht
3 import (
4 "encoding/json"
5 "time"
6 -
7 - u "github.com/jbenet/go-ipfs/util"
6 )
7
8 type logDhtRPC struct {
@@ -31,9 +29,9 @@ func (l *logDhtRPC) EndLog() {
29 func (l *logDhtRPC) Print() {
30 b, err := json.Marshal(l)
31 if err != nil {
34 - u.DOut(err.Error())
32 + log.Debug(err.Error())
33 } else {
36 - u.DOut(string(b))
34 + log.Debug(string(b))
35 }
36 }
37
routing/dht/ext_test.go
+1 -1
@@ -237,7 +237,7 @@ func TestNotFound(t *testing.T) {
237
238 ctx, _ := context.WithTimeout(context.Background(), time.Second*5)
239 v, err := d.GetValue(ctx, u.Key("hello"))
240 - u.DOut("get value got %v\n", v)
240 + log.Debug("get value got %v", v)
241 if err != nil {
242 switch err {
243 case u.ErrNotFound:
routing/dht/routing.go
+6 -6
@@ -156,7 +156,7 @@ func (dht *IpfsDHT) FindProvidersAsync2(ctx context.Context, key u.Key, count in
156 go func(p *peer.Peer) {
157 pmes, err := dht.findProvidersSingle(ctx, p, key, 0)
158 if err != nil {
159 - u.PErr("%v\n", err)
159 + log.Error("%s", err)
160 return
161 }
162 dht.addPeerListAsync(key, pmes.GetProviderPeers(), ps, count, peerOut)
@@ -207,11 +207,11 @@ func (dht *IpfsDHT) FindProviders(ctx context.Context, key u.Key) ([]*peer.Peer,
207 // handle providers
208 provs := pmes.GetProviderPeers()
209 if provs != nil {
210 - u.DOut("Got providers back from findProviders call!\n")
210 + log.Debug("Got providers back from findProviders call!")
211 return dht.addProviders(key, provs), nil
212 }
213
214 - u.DOut("Didnt get providers, just closer peers.\n")
214 + log.Debug("Didnt get providers, just closer peers.")
215 closer := pmes.GetCloserPeers()
216 if len(closer) == 0 {
217 level++
@@ -220,7 +220,7 @@ func (dht *IpfsDHT) FindProviders(ctx context.Context, key u.Key) ([]*peer.Peer,
220
221 np, err := dht.peerFromInfo(closer[0])
222 if err != nil {
223 - u.DOut("no peerFromInfo")
223 + log.Debug("no peerFromInfo")
224 level++
225 continue
226 }
@@ -293,7 +293,7 @@ func (dht *IpfsDHT) findPeerMultiple(ctx context.Context, id peer.ID) (*peer.Pee
293 query := newQuery(u.Key(id), func(ctx context.Context, p *peer.Peer) (*dhtQueryResult, error) {
294 pmes, err := dht.findPeerSingle(ctx, p, id, routeLevel)
295 if err != nil {
296 - u.DErr("getPeer error: %v\n", err)
296 + log.Error("%s getPeer error: %v", dht.self, err)
297 return nil, err
298 }
299
@@ -306,7 +306,7 @@ func (dht *IpfsDHT) findPeerMultiple(ctx context.Context, id peer.ID) (*peer.Pee
306 for i, fp := range plist {
307 nxtp, err := dht.peerFromInfo(fp)
308 if err != nil {
309 - u.DErr("findPeer error: %v\n", err)
309 + log.Error("%s findPeer error: %v", dht.self, err)
310 continue
311 }
312
routing/kbucket/table.go
+1 -1
@@ -118,7 +118,7 @@ func copyPeersFromList(target ID, peerArr peerSorterArr, peerList *list.List) pe
118 }
119 peerArr = append(peerArr, &pd)
120 if e == nil {
121 - u.POut("list element was nil.\n")
121 + log.Debug("list element was nil.\n")
122 return peerArr
123 }
124 }
util/util.go
-16
@@ -130,22 +130,6 @@ func POut(format string, a ...interface{}) {
130 fmt.Fprintf(os.Stdout, format, a...)
131 }
132
133 -// DErr is a shorthand debug printing function to output to Stderr.
134 -// Will only print if Debug is true.
135 -func DErr(format string, a ...interface{}) {
136 - if Debug {
137 - PErr(format, a...)
138 - }
139 -}
140 -
141 -// DOut is a shorthand debug printing function to output to Stdout.
142 -// Will only print if Debug is true.
143 -func DOut(format string, a ...interface{}) {
144 - if Debug {
145 - POut(format, a...)
146 - }
147 -}
148 -
133 var loggers = map[string]*logging.Logger{}
134
135 // SetupLogging will initialize the logger backend and set the flags.