本文整理汇总了Golang中github.com/cloudfoundry/bosh-agent/internal/github.com/cloudfoundry/bosh-utils/logger.Logger类的典型用法代码示例。如果您正苦于以下问题:Golang Logger类的具体用法?Golang Logger怎么用?Golang Logger使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Logger类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: PerformHandlerWithJSON
func PerformHandlerWithJSON(rawJSON []byte, handler Func, maxResponseLength int, logger boshlog.Logger) ([]byte, Request, error) {
var request Request
err := json.Unmarshal(rawJSON, &request)
if err != nil {
return []byte{}, request, bosherr.WrapError(err, "Unmarshalling JSON payload")
}
request.Payload = rawJSON
logger.Info(mbusHandlerLogTag, "Received request with action %s", request.Method)
logger.DebugWithDetails(mbusHandlerLogTag, "Payload", request.Payload)
response := handler(request)
if response == nil {
logger.Info(mbusHandlerLogTag, "Nil response returned from handler")
return []byte{}, request, nil
}
respJSON, err := marshalResponse(response, maxResponseLength, logger)
if err != nil {
return respJSON, request, err
}
logger.Info(mbusHandlerLogTag, "Responding")
logger.DebugWithDetails(mbusHandlerLogTag, "Payload", respJSON)
return respJSON, request, nil
}
开发者ID:viovanov,项目名称:bosh-agent,代码行数:29,代码来源:perform_handler_with_json.go
示例2: BuildErrorWithJSON
func BuildErrorWithJSON(msg string, logger boshlog.Logger) ([]byte, error) {
response := NewExceptionResponse(bosherr.Error(msg))
respJSON, err := json.Marshal(response)
if err != nil {
return respJSON, bosherr.WrapError(err, "Marshalling JSON")
}
logger.Info(mbusHandlerLogTag, "Building error", msg)
return respJSON, nil
}
开发者ID:viovanov,项目名称:bosh-agent,代码行数:12,代码来源:perform_handler_with_json.go
示例3: NewSignalableLogger
func NewSignalableLogger(writerLogger logger.Logger, signalChannel chan os.Signal) (logger.Logger, chan bool) {
doneChannel := make(chan bool, 1)
go func() {
for {
<-signalChannel
writerLogger.Error("Received SIGSEGV", "Dumping goroutines...")
stackTrace := make([]byte, 10000)
runtime.Stack(stackTrace, true)
writerLogger.Error("Received SIGSEGV", string(stackTrace))
doneChannel <- true
}
}()
return writerLogger, doneChannel
}
开发者ID:pivotal-nader-ziada,项目名称:bosh-agent,代码行数:14,代码来源:signalable_logger.go
示例4: newSSLConfig
func newSSLConfig(logger logger.Logger) auth.SSLConfig {
pem, err := ioutil.ReadFile(*caPemFile)
if err != nil {
logger.Error("CaPEMFile", "failed to read pemFile: ", err)
os.Exit(1)
}
config, err := auth.NewSSLConfig(*certFile, *keyFile, string(pem), []string{*allowedName})
if err != nil {
logger.Error("Config", "Unable to create SSL config", err)
os.Exit(1)
}
return config
}
开发者ID:viovanov,项目名称:bosh-agent,代码行数:14,代码来源:main.go
示例5: parseFlags
func parseFlags(logger logger.Logger) {
err := flags.Parse(os.Args[3:])
if err != nil {
usage()
}
flags.VisitAll(func(f *flag.Flag) {
if f.Value.String() == "" {
logger.Error("flags", "%s is a required flag", f.Name)
usage()
}
})
}
开发者ID:viovanov,项目名称:bosh-agent,代码行数:12,代码来源:main.go
示例6: marshalResponse
func marshalResponse(response Response, maxResponseLength int, logger boshlog.Logger) ([]byte, error) {
respJSON, err := json.Marshal(response)
if err != nil {
logger.Error(mbusHandlerLogTag, "Failed to marshal response: %s", err.Error())
return respJSON, bosherr.WrapError(err, "Marshalling JSON response")
}
if maxResponseLength == UnlimitedResponseLength {
return respJSON, nil
}
if len(respJSON) > maxResponseLength {
respJSON, err = json.Marshal(response.Shorten())
if err != nil {
logger.Error(mbusHandlerLogTag, "Failed to marshal response: %s", err.Error())
return respJSON, bosherr.WrapError(err, "Marshalling JSON response")
}
}
if len(respJSON) > maxResponseLength {
respJSON, err = BuildErrorWithJSON(responseMaxLengthErrMsg, logger)
if err != nil {
logger.Error(mbusHandlerLogTag, "Failed to build 'max length exceeded' response: %s", err.Error())
return respJSON, bosherr.WrapError(err, "Building error")
}
}
return respJSON, nil
}
开发者ID:viovanov,项目名称:bosh-agent,代码行数:29,代码来源:perform_handler_with_json.go
示例7: Download
func (d *Downloader) Download(logger logger.Logger, url string) error {
logger.Info("Download", "Downloading %s...", url)
req, err := http.NewRequest("GET", url, nil)
if err != nil {
logger.Error("Download", "Couldn't make the request to %s: %s", url, err.Error())
return err
}
client, err := d.httpClient()
if err != nil {
logger.Error("Download", "Couldn't make the http client %s", err.Error())
return err
}
resp, err := client.Do(req)
if err != nil {
logger.Error("Download", "Couldn't do the request (%s): %s", req, err.Error())
return err
}
if resp.StatusCode != http.StatusOK {
err := fmt.Errorf("Download failed, bad response: %s", resp.Status)
logger.Error("Download", err.Error())
return err
}
certificateVerifier := auth.CertificateVerifier{AllowedNames: d.config.PkixNames}
err = certificateVerifier.Verify(resp.TLS.PeerCertificates)
if err != nil {
return err
}
logger.Info("Download", "Downloading complete. Installing...")
err = d.installer.Install(resp.Body)
if err != nil {
return err
}
logger.Info("Download", "Download succeeded")
return nil
}
开发者ID:viovanov,项目名称:bosh-agent,代码行数:42,代码来源:downloader.go
注:本文中的github.com/cloudfoundry/bosh-agent/internal/github.com/cloudfoundry/bosh-utils/logger.Logger类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论