- add logfile option to ethereum client flags
- fallback to StdOut
- Logger appended to ethutil.Config.Log loggers
- wrapper uses ethutil.Config.Log
pull/33/head
zelig 11 years ago
parent 7f0c974008
commit f4c13f8656
  1. 4
      ethereum/config.go
  2. 26
      ethereum/ethereum.go

@ -15,8 +15,7 @@ var GenAddr bool
var UseSeed bool var UseSeed bool
var ImportKey string var ImportKey string
var ExportKey bool var ExportKey bool
var LogFile string
//var UseGui bool
var DataDir string var DataDir string
func Init() { func Init() {
@ -29,6 +28,7 @@ func Init() {
flag.BoolVar(&GenAddr, "genaddr", false, "create a new priv/pub key") flag.BoolVar(&GenAddr, "genaddr", false, "create a new priv/pub key")
flag.BoolVar(&ExportKey, "export", false, "export private key") flag.BoolVar(&ExportKey, "export", false, "export private key")
flag.StringVar(&OutboundPort, "p", "30303", "listening port") flag.StringVar(&OutboundPort, "p", "30303", "listening port")
flag.StringVar(&LogFile, "logfile", "", "log file (defaults to standard output)")
flag.StringVar(&DataDir, "dir", ".ethereum", "ethereum data directory") flag.StringVar(&DataDir, "dir", ".ethereum", "ethereum data directory")
flag.StringVar(&ImportKey, "import", "", "imports the given private key (hex)") flag.StringVar(&ImportKey, "import", "", "imports the given private key (hex)")
flag.IntVar(&MaxPeer, "x", 5, "maximum desired peers") flag.IntVar(&MaxPeer, "x", 5, "maximum desired peers")

@ -25,7 +25,6 @@ func RegisterInterupts(s *eth.Ethereum) {
go func() { go func() {
for sig := range c { for sig := range c {
fmt.Printf("Shutting down (%v) ... \n", sig) fmt.Printf("Shutting down (%v) ... \n", sig)
s.Stop() s.Stop()
} }
}() }()
@ -36,8 +35,25 @@ func main() {
runtime.GOMAXPROCS(runtime.NumCPU()) runtime.GOMAXPROCS(runtime.NumCPU())
ethchain.InitFees() // set logger
var logger *log.Logger
flags := log.LstdFlags
if LogFile != "" {
logfile, err := os.OpenFile(LogFile, os.O_RDWR | os.O_CREATE | os.O_APPEND, 0666)
if err != nil {
panic(fmt.Sprintf("error opening log file '%s': %v", LogFile, err))
}
defer logfile.Close()
log.SetOutput(logfile)
logger = log.New(logfile, "", flags)
} else {
logger = log.New(os.Stdout, "", flags)
}
ethutil.ReadConfig(DataDir) ethutil.ReadConfig(DataDir)
ethutil.Config.Log.AddLogSystem(logger)
ethchain.InitFees()
ethutil.Config.Seed = UseSeed ethutil.Config.Seed = UseSeed
// Instantiated a eth stack // Instantiated a eth stack
@ -108,7 +124,7 @@ func main() {
os.Exit(0) os.Exit(0)
} }
log.Printf("Starting Ethereum v%s\n", ethutil.Config.Ver) ethutil.Config.Log.Infoln(fmt.Sprintf("Starting Ethereum v%s", ethutil.Config.Ver))
// Set the max peers // Set the max peers
ethereum.MaxPeers = MaxPeer ethereum.MaxPeers = MaxPeer
@ -128,13 +144,13 @@ func main() {
ethereum.Start() ethereum.Start()
if StartMining { if StartMining {
log.Printf("Miner started\n") ethutil.Config.Log.Infoln("Miner started")
// Fake block mining. It broadcasts a new block every 5 seconds // Fake block mining. It broadcasts a new block every 5 seconds
go func() { go func() {
if StartMining { if StartMining {
log.Printf("Miner started\n") ethutil.Config.Log.Infoln("Miner started")
go func() { go func() {
data, _ := ethutil.Config.Db.Get([]byte("KeyRing")) data, _ := ethutil.Config.Db.Get([]byte("KeyRing"))

Loading…
Cancel
Save