本文整理汇总了Golang中github.com/cloudfoundry/bosh-utils/logger.Logger类的典型用法代码示例。如果您正苦于以下问题:Golang Logger类的具体用法?Golang Logger怎么用?Golang Logger使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Logger类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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
}
示例2: runAgent
func runAgent(logger logger.Logger) chan error {
errCh := make(chan error, 1)
go func() {
defer logger.HandlePanic("Main")
logger.Debug(mainLogTag, "Starting agent")
fs := boshsys.NewOsFileSystem(logger)
app := boshapp.New(logger, fs)
err := app.Setup(os.Args)
if err != nil {
logger.Error(mainLogTag, "App setup %s", err.Error())
errCh <- err
return
}
err = app.Run()
if err != nil {
logger.Error(mainLogTag, "App run %s", err.Error())
errCh <- err
return
}
}()
return errCh
}
示例3: stopRegistryNice
func (i *installation) stopRegistryNice(logger boshlog.Logger, stage biui.Stage) {
err := stage.Perform("Stopping registry", func() error {
return i.StopRegistry()
})
if err != nil {
logger.Warn("installation", "Registry failed to stop: %s", err)
}
}
示例4: fail
func fail(err error, ui biui.UI, logger boshlog.Logger, callback func()) {
logger.Error(mainLogTag, err.Error())
ui.ErrorLinef("")
ui.ErrorLinef(biuifmt.MultilineError(err))
if callback != nil {
callback()
}
os.Exit(1)
}
示例5: mustLoadConfig
func mustLoadConfig(fs boshsys.FileSystem, logger boshlog.Logger) Config {
flag.Parse()
config, err := NewConfigFromPath(*configPathOpt, fs)
if err != nil {
logger.Error(mainLogTag, "Failed to load config %s", err)
os.Exit(1)
}
return config
}
示例6: 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
}
示例7: NewSignalableLogger
func NewSignalableLogger(logger boshlog.Logger, signalChannel chan os.Signal) (boshlog.Logger, chan bool) {
doneChannel := make(chan bool, 1)
go func() {
for {
<-signalChannel
fmt.Println("Received SIGHUP - toggling debug output")
logger.ToggleForcedDebug()
doneChannel <- true
}
}()
return logger, doneChannel
}
示例8: 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
}
示例9: NewProvider
func NewProvider(
platform boshplatform.Platform,
client boshmonit.Client,
logger boshlog.Logger,
dirProvider boshdir.Provider,
handler boshhandler.Handler,
) (p Provider) {
fs := platform.GetFs()
runner := platform.GetRunner()
timeService := clock.NewClock()
monitJobSupervisor := NewMonitJobSupervisor(
fs,
runner,
client,
logger,
dirProvider,
jobSupervisorListenPort,
MonitReloadOptions{
MaxTries: 3,
MaxCheckTries: 6,
DelayBetweenCheckTries: 5 * time.Second,
},
timeService,
)
network, err := platform.GetDefaultNetwork()
var machineIP string
if err != nil {
machineIP, _ = os.Hostname()
logger.Debug("providerWindows", "Initializing jobsupervisor.provider_windows: %s, using hostname \"%s\"instead of IP", err, machineIP)
} else {
machineIP = network.IP
}
p.supervisors = map[string]JobSupervisor{
"monit": monitJobSupervisor,
"dummy": NewDummyJobSupervisor(),
"dummy-nats": NewDummyNatsJobSupervisor(handler),
"windows": NewWindowsJobSupervisor(runner, dirProvider, fs, logger, jobSupervisorListenPort,
make(chan bool), machineIP),
}
return
}
示例10: NewRandomizer
func NewRandomizer(
actionFactory bltaction.Factory,
cliRunnerFactory bltclirunner.Factory,
fs boshsys.FileSystem,
logger boshlog.Logger,
) Randomizer {
seed := time.Now().Unix()
logger.Debug("randomizer", "Using random seed: %d", seed)
rand.Seed(seed)
return &randomizer{
actionFactory: actionFactory,
cliRunnerFactory: cliRunnerFactory,
state: [][]ActionInfo{},
maxDelayInMilliseconds: 5000,
fs: fs,
logger: logger,
}
}
示例11: PrepareAndSetTempRoot
func (c *tempRootConfigurator) PrepareAndSetTempRoot(path string, logger logger.Logger) error {
logger.Info("tempRootConfigurator", "Preparing temp root: %s", path)
if c.fs.FileExists(path) {
logger.Info("tempRootConfigurator", "Path exists, deleting")
err := c.fs.RemoveAll(path)
if err != nil {
return err
}
}
logger.Info("tempRootConfigurator", "Setting file system temp root")
err := c.fs.ChangeTempRoot(path)
if err != nil {
return err
}
return nil
}
示例12: 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
}
示例13: Fail
func Fail(err error, logger boshlog.Logger) {
logger.Error("main", err.Error())
os.Exit(1)
}