Browse Source

Merge branch 'develop' into conversion

obscuren 10 years ago
parent
commit
a7ad9c309b
6 changed files with 32 additions and 7 deletions
  1. 2 2
      cmd/ethereum/main.go
  2. 2 0
      logger/log.go
  3. 24 0
      logger/logsystem.go
  4. 1 2
      logger/sys.go
  5. 2 2
      p2p/discover/node.go
  6. 1 1
      p2p/message.go

+ 2 - 2
cmd/ethereum/main.go

@@ -251,7 +251,7 @@ func accountList(ctx *cli.Context) {
 		utils.Fatalf("Could not list accounts: %v", err)
 	}
 	for _, acct := range accts {
-		fmt.Printf("Address: %#x\n", acct)
+		fmt.Printf("Address: %x\n", acct)
 	}
 }
 
@@ -278,7 +278,7 @@ func accountCreate(ctx *cli.Context) {
 	if err != nil {
 		utils.Fatalf("Could not create the account: %v", err)
 	}
-	fmt.Printf("Address: %#x\n", acct.Address)
+	fmt.Printf("Address: %x\n", acct.Address)
 }
 
 func importchain(ctx *cli.Context) {

+ 2 - 0
logger/log.go

@@ -30,6 +30,8 @@ func New(datadir string, logFile string, logLevel int, logFormat string) LogSyst
 	switch logFormat {
 	case "raw":
 		sys = NewRawLogSystem(writer, 0, LogLevel(logLevel))
+	case "json":
+		sys = NewJsonLogSystem(writer, 0, LogLevel(logLevel))
 	default:
 		sys = NewStdLogSystem(writer, log.LstdFlags, LogLevel(logLevel))
 	}

+ 24 - 0
logger/logsystem.go

@@ -61,3 +61,27 @@ func (t *rawLogSystem) SetLogLevel(i LogLevel) {
 func (t *rawLogSystem) GetLogLevel() LogLevel {
 	return LogLevel(atomic.LoadUint32(&t.level))
 }
+
+// NewRawLogSystem creates a LogSystem that prints to the given writer without
+// adding extra information. Suitable for preformatted output
+func NewJsonLogSystem(writer io.Writer, flags int, level LogLevel) LogSystem {
+	logger := log.New(writer, "", 0)
+	return &jsonLogSystem{logger, uint32(level)}
+}
+
+type jsonLogSystem struct {
+	logger *log.Logger
+	level  uint32
+}
+
+func (t *jsonLogSystem) LogPrint(level LogLevel, msg string) {
+	t.logger.Print(msg)
+}
+
+func (t *jsonLogSystem) SetLogLevel(i LogLevel) {
+	atomic.StoreUint32(&t.level, uint32(i))
+}
+
+func (t *jsonLogSystem) GetLogLevel() LogLevel {
+	return LogLevel(atomic.LoadUint32(&t.level))
+}

+ 1 - 2
logger/sys.go

@@ -76,8 +76,7 @@ func dispatchLoop() {
 func sysLoop(sys LogSystem, in <-chan message, wg *sync.WaitGroup) {
 	for msg := range in {
 		switch sys.(type) {
-		case *rawLogSystem:
-			// This is a semantic hack since rawLogSystem has little to do with JsonLevel
+		case *jsonLogSystem:
 			if msg.level == JsonLevel {
 				sys.LogPrint(msg.level, msg.msg)
 			}

+ 2 - 2
p2p/discover/node.go

@@ -143,12 +143,12 @@ type NodeID [nodeIDBits / 8]byte
 
 // NodeID prints as a long hexadecimal number.
 func (n NodeID) String() string {
-	return fmt.Sprintf("%#x", n[:])
+	return fmt.Sprintf("%x", n[:])
 }
 
 // The Go syntax representation of a NodeID is a call to HexID.
 func (n NodeID) GoString() string {
-	return fmt.Sprintf("discover.HexID(\"%#x\")", n[:])
+	return fmt.Sprintf("discover.HexID(\"%x\")", n[:])
 }
 
 // HexID converts a hex string to a NodeID.

+ 1 - 1
p2p/message.go

@@ -33,7 +33,7 @@ type Msg struct {
 // For the decoding rules, please see package rlp.
 func (msg Msg) Decode(val interface{}) error {
 	if err := rlp.Decode(msg.Payload, val); err != nil {
-		return newPeerError(errInvalidMsg, "(code %#x) (size %d) %v", msg.Code, msg.Size, err)
+		return newPeerError(errInvalidMsg, "(code %x) (size %d) %v", msg.Code, msg.Size, err)
 	}
 	return nil
 }