// setLogLevel sets the logging level for provided subsystem. Invalid // subsystems are ignored. Uninitialized subsystems are dynamically created as // needed. func setLogLevel(subsystemID string, logLevel string) { // Create the backend seelog logger if needed. if backendLog == seelog.Disabled { backendLog = newSeelogLogger() } // Ignore invalid subsystems. logger, ok := subsystemLoggers[subsystemID] if !ok { return } // Default to info if the log level is invalid. level, ok := btclog.LogLevelFromString(logLevel) if !ok { level = btclog.InfoLvl } // Create new logger for the subsystem if needed. if logger == btclog.Disabled { logger = btclog.NewSubsystemLogger(backendLog, subsystemID+": ") useLogger(subsystemID, logger) } logger.SetLevel(level) }
// SetLogWriter uses a specified io.Writer to output package logging info. // This allows a caller to direct package logging output without needing a // dependency on seelog. If the caller is also using btclog, UseLogger should // be used instead. func SetLogWriter(w io.Writer, level string) error { if w == nil { return errors.New("nil writer") } lvl, ok := btclog.LogLevelFromString(level) if !ok { return errors.New("invalid log level") } l, err := btclog.NewLoggerFromWriter(w, lvl) if err != nil { return err } UseLogger(l) return nil }