本文整理匯總了Golang中github.com/cloudfoundry/gosteno.Logger.Info方法的典型用法代碼示例。如果您正苦於以下問題:Golang Logger.Info方法的具體用法?Golang Logger.Info怎麽用?Golang Logger.Info使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/cloudfoundry/gosteno.Logger
的用法示例。
在下文中一共展示了Logger.Info方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: Connect
func Connect(adapter Adapter, backoffStrategy retrystrategy.RetryStrategy, logger *gosteno.Logger, maxRetries int) error {
timer := time.NewTimer(backoffStrategy(0))
defer timer.Stop()
numberOfTries := 0
for {
err := adapter.Connect()
if err == nil {
logger.Info("Connected to etcd")
return nil
}
numberOfTries++
sleepDuration := backoffStrategy(numberOfTries)
logger.Warnd(map[string]interface{}{
"error": err.Error(),
}, fmt.Sprintf("Failed to connect to etcd. Number of tries: %d. Backing off for %v.", numberOfTries, sleepDuration))
timer.Reset(sleepDuration)
<-timer.C
if numberOfTries >= maxRetries {
return fmt.Errorf("Failed to connect to etcd after %d tries.", numberOfTries)
}
}
}
示例2: newTokenFetcher
func newTokenFetcher(c *config.Config, logger *steno.Logger) token_fetcher.TokenFetcher {
if c.RoutingApi.AuthDisabled {
logger.Info("using noop token fetcher")
return token_fetcher.NewNoOpTokenFetcher()
}
tokenFetcher := token_fetcher.NewTokenFetcher(&c.OAuth)
logger.Info("using uaa token fetcher")
return tokenFetcher
}
示例3: waitOnErrOrSignal
func waitOnErrOrSignal(c *config.Config, logger *steno.Logger, errChan <-chan error, router *router.Router) {
signals := make(chan os.Signal, 1)
signal.Notify(signals, syscall.SIGTERM, syscall.SIGINT, syscall.SIGUSR1)
select {
case err := <-errChan:
if err != nil {
logger.Errorf("Error occurred: %s", err.Error())
os.Exit(1)
}
case sig := <-signals:
go func() {
for sig := range signals {
logger.Infod(
map[string]interface{}{
"signal": sig.String(),
},
"gorouter.signal.ignored",
)
}
}()
if sig == syscall.SIGUSR1 {
logger.Infod(
map[string]interface{}{
"timeout": (c.DrainTimeout).String(),
},
"gorouter.draining",
)
router.Drain(c.DrainTimeout)
}
stoppingAt := time.Now()
logger.Info("gorouter.stopping")
router.Stop()
logger.Infod(
map[string]interface{}{
"took": time.Since(stoppingAt).String(),
},
"gorouter.stopped",
)
}
}
示例4: newTokenFetcher
func newTokenFetcher(logger *steno.Logger, clock clock.Clock, c *config.Config) token_fetcher.TokenFetcher {
if c.RoutingApi.AuthDisabled {
logger.Info("using noop token fetcher")
return token_fetcher.NewNoOpTokenFetcher()
}
tokenFetcherConfig := token_fetcher.TokenFetcherConfig{
MaxNumberOfRetries: c.TokenFetcherMaxRetries,
RetryInterval: c.TokenFetcherRetryInterval,
ExpirationBufferTime: c.TokenFetcherExpirationBufferTimeInSeconds,
}
cfLogger, _ := cf_lager.New("token_fetcher")
tokenFetcher, err := token_fetcher.NewTokenFetcher(cfLogger, &c.OAuth, tokenFetcherConfig, clock)
if err != nil {
logger.Errorf("Error creating token fetcher: %s\n", err)
os.Exit(1)
}
logger.Info("using uaa token fetcher")
return tokenFetcher
}
示例5: generateCert
func generateCert(logger *gosteno.Logger) {
// see: http://golang.org/src/pkg/crypto/tls/generate_cert.go
host := "localhost"
validFrom := "Jan 1 15:04:05 2011"
validFor := 10 * 365 * 24 * time.Hour
isCA := true
rsaBits := 1024
if len(host) == 0 {
logger.Fatalf("Missing required --host parameter")
}
priv, err := rsa.GenerateKey(rand.Reader, rsaBits)
if err != nil {
logger.Fatalf("failed to generate private key: %s", err)
panic(err)
}
var notBefore time.Time
if len(validFrom) == 0 {
notBefore = time.Now()
} else {
notBefore, err = time.Parse("Jan 2 15:04:05 2006", validFrom)
if err != nil {
logger.Fatalf("Failed to parse creation date: %s\n", err)
panic(err)
}
}
notAfter := notBefore.Add(validFor)
// end of ASN.1 time
endOfTime := time.Date(2049, 12, 31, 23, 59, 59, 0, time.UTC)
if notAfter.After(endOfTime) {
notAfter = endOfTime
}
template := x509.Certificate{
SerialNumber: new(big.Int).SetInt64(0),
Subject: pkix.Name{
Organization: []string{"Loggregator TrafficController TEST"},
},
NotBefore: notBefore,
NotAfter: notAfter,
KeyUsage: x509.KeyUsageKeyEncipherment | x509.KeyUsageDigitalSignature,
ExtKeyUsage: []x509.ExtKeyUsage{x509.ExtKeyUsageServerAuth},
BasicConstraintsValid: true,
}
hosts := strings.Split(host, ",")
for _, h := range hosts {
if ip := net.ParseIP(h); ip != nil {
template.IPAddresses = append(template.IPAddresses, ip)
} else {
template.DNSNames = append(template.DNSNames, h)
}
}
if isCA {
template.IsCA = true
template.KeyUsage |= x509.KeyUsageCertSign
}
derBytes, err := x509.CreateCertificate(rand.Reader, &template, &template, &priv.PublicKey, priv)
if err != nil {
logger.Fatalf("Failed to create certificate: %s", err)
panic(err)
}
certOut, err := os.Create("cert.pem")
if err != nil {
logger.Fatalf("failed to open cert.pem for writing: %s", err)
panic(err)
}
pem.Encode(certOut, &pem.Block{Type: "CERTIFICATE", Bytes: derBytes})
certOut.Close()
logger.Info("written cert.pem\n")
keyOut, err := os.OpenFile("key.pem", os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0600)
if err != nil {
logger.Fatalf("failed to open key.pem for writing: %s", err)
panic(err)
}
pem.Encode(keyOut, &pem.Block{Type: "RSA PRIVATE KEY", Bytes: x509.MarshalPKCS1PrivateKey(priv)})
keyOut.Close()
logger.Info("written key.pem\n")
}