當前位置: 首頁>>代碼示例>>Golang>>正文


Golang logger.Logger類代碼示例

本文整理匯總了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
}
開發者ID:EMC-CMD,項目名稱:bosh-agent,代碼行數:29,代碼來源:perform_handler_with_json.go

示例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
}
開發者ID:mattcui,項目名稱:bosh-agent,代碼行數:26,代碼來源:agent.go

示例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)
	}
}
開發者ID:mattcui,項目名稱:bosh-init,代碼行數:8,代碼來源:installation.go

示例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)
}
開發者ID:mattcui,項目名稱:bosh-init,代碼行數:9,代碼來源:main.go

示例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
}
開發者ID:pcfdev-forks,項目名稱:bosh-provisioner,代碼行數:11,代碼來源:main.go

示例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
}
開發者ID:mattcui,項目名稱:bosh-agent,代碼行數:12,代碼來源:perform_handler_with_json.go

示例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
}
開發者ID:mattcui,項目名稱:bosh-init,代碼行數:12,代碼來源:signalable_logger.go

示例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
}
開發者ID:EMC-CMD,項目名稱:bosh-agent,代碼行數:14,代碼來源:signalable_logger.go

示例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
}
開發者ID:mattcui,項目名稱:bosh-agent,代碼行數:44,代碼來源:provider_windows.go

示例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,
	}
}
開發者ID:cloudfoundry-incubator,項目名稱:bosh-load-tests,代碼行數:19,代碼來源:randomizer.go

示例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
}
開發者ID:mattcui,項目名稱:bosh-init,代碼行數:19,代碼來源:temp_root_configurator.go

示例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
}
開發者ID:mattcui,項目名稱:bosh-agent,代碼行數:29,代碼來源:perform_handler_with_json.go

示例13: Fail

func Fail(err error, logger boshlog.Logger) {
	logger.Error("main", err.Error())
	os.Exit(1)
}
開發者ID:voelzmo,項目名稱:bosh-release-info-workspace,代碼行數:4,代碼來源:output.go


注:本文中的github.com/cloudfoundry/bosh-utils/logger.Logger類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。