diff --git a/ethereal/gui.go b/ethereal/gui.go index 6d16ec484d..5e87f7464d 100644 --- a/ethereal/gui.go +++ b/ethereal/gui.go @@ -56,7 +56,8 @@ type Gui struct { plugins map[string]plugin - miner *ethminer.Miner + miner *ethminer.Miner + stdLog ethlog.LogSystem } // Create GUI, but doesn't start it @@ -559,6 +560,7 @@ func (gui *Gui) ToggleTurboMining() { // functions that allow Gui to implement interface ethlog.LogSystem func (gui *Gui) SetLogLevel(level ethlog.LogLevel) { gui.logLevel = level + gui.stdLog.SetLogLevel(level) gui.config.Save("loglevel", level) } diff --git a/ethereal/main.go b/ethereal/main.go index dd4f1245af..4fb9e2a9c9 100644 --- a/ethereal/main.go +++ b/ethereal/main.go @@ -25,7 +25,7 @@ func run() error { utils.InitDataDir(Datadir) - utils.InitLogging(Datadir, LogFile, LogLevel, DebugFile) + stdLog := utils.InitLogging(Datadir, LogFile, LogLevel, DebugFile) db := utils.NewDatabase() err := utils.DBSanityCheck(db) @@ -53,6 +53,7 @@ func run() error { } gui := NewWindow(ethereum, config, clientIdentity, KeyRing, LogLevel) + gui.stdLog = stdLog utils.RegisterInterrupt(func(os.Signal) { gui.Stop() diff --git a/ethereum/main.go b/ethereum/main.go index 9d07ab0d41..ab6ce18b21 100644 --- a/ethereum/main.go +++ b/ethereum/main.go @@ -43,6 +43,7 @@ func main() { err := utils.DBSanityCheck(db) if err != nil { logger.Errorln(err) + os.Exit(1) } diff --git a/utils/cmd.go b/utils/cmd.go index 3f3948d603..83f3ec0b68 100644 --- a/utils/cmd.go +++ b/utils/cmd.go @@ -100,18 +100,22 @@ func InitDataDir(Datadir string) { } } -func InitLogging(Datadir string, LogFile string, LogLevel int, DebugFile string) { +func InitLogging(Datadir string, LogFile string, LogLevel int, DebugFile string) ethlog.LogSystem { var writer io.Writer if LogFile == "" { writer = os.Stdout } else { writer = openLogFile(Datadir, LogFile) } - ethlog.AddLogSystem(ethlog.NewStdLogSystem(writer, log.LstdFlags, ethlog.LogLevel(LogLevel))) + + sys := ethlog.NewStdLogSystem(writer, log.LstdFlags, ethlog.LogLevel(LogLevel)) + ethlog.AddLogSystem(sys) if DebugFile != "" { writer = openLogFile(Datadir, DebugFile) ethlog.AddLogSystem(ethlog.NewStdLogSystem(writer, log.LstdFlags, ethlog.DebugLevel)) } + + return sys } func InitConfig(ConfigFile string, Datadir string, EnvPrefix string) *ethutil.ConfigManager {