func TestLoggingLevelDefault(t *testing.T) { viper.Reset() flogging.LoggingInit("") assertDefaultLoggingLevel(t, flogging.DefaultLoggingLevel()) }
func TestLoggingLevelForUnknownCommandGoesToDefault(t *testing.T) { viper.Reset() flogging.LoggingInit("unknown command") assertDefaultLoggingLevel(t, flogging.DefaultLoggingLevel()) }
func TestLoggingLevelInvalidModuleSyntax(t *testing.T) { viper.Reset() viper.Set("logging_level", "type=warn=again") flogging.LoggingInit("") assertDefaultLoggingLevel(t, flogging.DefaultLoggingLevel()) }
func TestLoggingLevelInvalidEmptyModule(t *testing.T) { viper.Reset() viper.Set("logging_level", "=warning") flogging.LoggingInit("") assertDefaultLoggingLevel(t, flogging.DefaultLoggingLevel()) }
func TestLoggingLevelInvalidModules(t *testing.T) { viper.Reset() viper.Set("logging_level", "core=invalid") flogging.LoggingInit("") assertDefaultLoggingLevel(t, flogging.DefaultLoggingLevel()) }
// NewChaincodeSupport creates a new ChaincodeSupport instance func NewChaincodeSupport(chainname ChainName, getPeerEndpoint func() (*pb.PeerEndpoint, error), userrunsCC bool, ccstartuptimeout time.Duration, secHelper crypto.Peer) *ChaincodeSupport { pnid := viper.GetString("peer.networkId") pid := viper.GetString("peer.id") s := &ChaincodeSupport{name: chainname, runningChaincodes: &runningChaincodes{chaincodeMap: make(map[string]*chaincodeRTEnv)}, secHelper: secHelper, peerNetworkID: pnid, peerID: pid} //initialize global chain chains[chainname] = s peerEndpoint, err := getPeerEndpoint() if err != nil { chaincodeLogger.Errorf("Error getting PeerEndpoint, using peer.address: %s", err) s.peerAddress = viper.GetString("peer.address") } else { s.peerAddress = peerEndpoint.Address } chaincodeLogger.Infof("Chaincode support using peerAddress: %s\n", s.peerAddress) //peerAddress = viper.GetString("peer.address") if s.peerAddress == "" { s.peerAddress = peerAddressDefault } s.userRunsCC = userrunsCC s.ccStartupTimeout = ccstartuptimeout //TODO I'm not sure if this needs to be on a per chain basis... too lowel and just needs to be a global default ? s.chaincodeInstallPath = viper.GetString("chaincode.installpath") if s.chaincodeInstallPath == "" { s.chaincodeInstallPath = chaincodeInstallPathDefault } s.peerTLS = viper.GetBool("peer.tls.enabled") if s.peerTLS { s.peerTLSCertFile = viper.GetString("peer.tls.cert.file") s.peerTLSKeyFile = viper.GetString("peer.tls.key.file") s.peerTLSSvrHostOrd = viper.GetString("peer.tls.serverhostoverride") } kadef := 0 if ka := viper.GetString("chaincode.keepalive"); ka == "" { s.keepalive = time.Duration(kadef) * time.Second } else { t, terr := strconv.Atoi(ka) if terr != nil { chaincodeLogger.Errorf("Invalid keepalive value %s (%s) defaulting to %d", ka, terr, kadef) t = kadef } else if t <= 0 { chaincodeLogger.Debugf("Turn off keepalive(value %s)", ka) t = kadef } s.keepalive = time.Duration(t) * time.Second } viper.SetEnvPrefix("CORE") viper.AutomaticEnv() replacer := strings.NewReplacer(".", "_") viper.SetEnvKeyReplacer(replacer) chaincodeLogLevelString := viper.GetString("logging.chaincode") chaincodeLogLevel, err := logging.LogLevel(chaincodeLogLevelString) if err == nil { s.chaincodeLogLevel = chaincodeLogLevel.String() } else { chaincodeLogger.Infof("chaincode logging level %s is invalid. defaulting to %s\n", chaincodeLogLevelString, flogging.DefaultLoggingLevel().String()) s.chaincodeLogLevel = flogging.DefaultLoggingLevel().String() } return s }