本文整理匯總了Golang中code/cloudfoundry/org/lager.Logger.Error方法的典型用法代碼示例。如果您正苦於以下問題:Golang Logger.Error方法的具體用法?Golang Logger.Error怎麽用?Golang Logger.Error使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類code/cloudfoundry/org/lager.Logger
的用法示例。
在下文中一共展示了Logger.Error方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: Cells
func (db *serviceClient) Cells(logger lager.Logger) (models.CellSet, error) {
kvPairs, _, err := db.consulClient.KV().List(CellSchemaRoot(), nil)
if err != nil {
bbsErr := models.ConvertError(convertConsulError(err))
if bbsErr.Type != models.Error_ResourceNotFound {
return nil, bbsErr
}
}
if kvPairs == nil {
err = consuladapter.NewPrefixNotFoundError(CellSchemaRoot())
bbsErr := models.ConvertError(convertConsulError(err))
if bbsErr.Type != models.Error_ResourceNotFound {
return nil, bbsErr
}
}
cellPresences := models.NewCellSet()
for _, kvPair := range kvPairs {
if kvPair.Session == "" {
continue
}
cell := kvPair.Value
presence := new(models.CellPresence)
err := models.FromJSON(cell, presence)
if err != nil {
logger.Error("failed-to-unmarshal-cells-json", err)
continue
}
cellPresences.Add(presence)
}
return cellPresences, nil
}
示例2: completeTask
func (db *SQLDB) completeTask(logger lager.Logger, task *models.Task, failed bool, failureReason, result string, tx *sql.Tx) error {
now := db.clock.Now().UnixNano()
_, err := db.update(logger, tx, tasksTable,
SQLAttributes{
"failed": failed,
"failure_reason": failureReason,
"result": result,
"state": models.Task_Completed,
"first_completed_at": now,
"updated_at": now,
"cell_id": "",
},
"guid = ?", task.TaskGuid,
)
if err != nil {
logger.Error("failed-updating-tasks", err)
return db.convertSQLError(err)
}
task.State = models.Task_Completed
task.UpdatedAt = now
task.FirstCompletedAt = now
task.Failed = failed
task.FailureReason = failureReason
task.Result = result
task.CellId = ""
return nil
}
示例3: commonTaskByGuid
func (h *TaskHandler) commonTaskByGuid(logger lager.Logger, w http.ResponseWriter, req *http.Request, version format.Version) {
var err error
logger = logger.Session("task-by-guid", lager.Data{"revision": 0})
request := &models.TaskByGuidRequest{}
response := &models.TaskResponse{}
defer func() { exitIfUnrecoverable(logger, h.exitChan, response.Error) }()
defer writeResponse(w, response)
err = parseRequest(logger, req, request)
if err != nil {
logger.Error("failed-parsing-request", err)
response.Error = models.ConvertError(err)
return
}
response.Task, err = h.controller.TaskByGuid(logger, request.TaskGuid)
if err != nil {
response.Error = models.ConvertError(err)
return
}
if response.Task.TaskDefinition != nil {
response.Task = response.Task.VersionDownTo(version)
}
}
示例4: Destroy
func (n *networker) Destroy(log lager.Logger, handle string) error {
cfg, err := load(n.configStore, handle)
if err != nil {
log.Error("no-properties-for-container-skipping-destroy-network", err)
return nil
}
if err := n.configurer.DestroyIPTablesRules(log, cfg); err != nil {
return err
}
if err := n.subnetPool.Release(cfg.Subnet, cfg.ContainerIP); err != nil && err != subnets.ErrReleasedUnallocatedSubnet {
log.Error("release-failed", err)
return err
}
if ports, ok := n.configStore.Get(handle, gardener.MappedPortsKey); ok {
mappings, err := portsFromJson(ports)
if err != nil {
return err
}
for _, m := range mappings {
n.portPool.Release(m.HostPort)
}
}
err = n.subnetPool.RunIfFree(cfg.Subnet, func() error {
return n.configurer.DestroyBridge(log, cfg)
})
return err
}
示例5: DesireTask
func (db *SQLDB) DesireTask(logger lager.Logger, taskDef *models.TaskDefinition, taskGuid, domain string) error {
logger = logger.Session("desire-task", lager.Data{"task_guid": taskGuid})
logger.Info("starting")
defer logger.Info("complete")
taskDefData, err := db.serializeModel(logger, taskDef)
if err != nil {
logger.Error("failed-serializing-task-definition", err)
return err
}
return db.transact(logger, func(logger lager.Logger, tx *sql.Tx) error {
now := db.clock.Now().UnixNano()
_, err = db.insert(logger, tx, tasksTable,
SQLAttributes{
"guid": taskGuid,
"domain": domain,
"created_at": now,
"updated_at": now,
"first_completed_at": 0,
"state": models.Task_Pending,
"task_definition": taskDefData,
},
)
if err != nil {
logger.Error("failed-inserting-task", err)
return db.convertSQLError(err)
}
return nil
})
}
示例6: ConvergeLRPs
func (db *ETCDDB) ConvergeLRPs(logger lager.Logger, cellSet models.CellSet) ([]*auctioneer.LRPStartRequest, []*models.ActualLRPKeyWithSchedulingInfo, []*models.ActualLRPKey) {
convergeStart := db.clock.Now()
convergeLRPRunsCounter.Increment()
logger = logger.Session("etcd")
logger.Info("starting-convergence")
defer logger.Info("finished-convergence")
defer func() {
err := convergeLRPDuration.Send(time.Since(convergeStart))
if err != nil {
logger.Error("failed-sending-converge-lrp-duration-metric", err)
}
}()
logger.Debug("gathering-convergence-input")
input, err := db.GatherAndPruneLRPs(logger, cellSet)
if err != nil {
logger.Error("failed-gathering-convergence-input", err)
return nil, nil, nil
}
logger.Debug("succeeded-gathering-convergence-input")
changes := CalculateConvergence(logger, db.clock, models.NewDefaultRestartCalculator(), input)
return db.ResolveConvergence(logger, input.DesiredLRPs, changes)
}
示例7: resolveRestartableCrashedActualLRPS
func (db *ETCDDB) resolveRestartableCrashedActualLRPS(logger lager.Logger, actualLRP *models.ActualLRP, starts *startRequests) func() {
return func() {
actualKey := actualLRP.ActualLRPKey
logger = logger.Session("restart-crash", lager.Data{
"process_guid": actualKey.ProcessGuid,
"index": actualKey.Index,
})
if actualLRP.State != models.ActualLRPStateCrashed {
logger.Error("failed-actual-lrp-state-is-not-crashed", nil)
return
}
logger.Debug("unclaiming-actual-lrp", lager.Data{"process_guid": actualLRP.ActualLRPKey.ProcessGuid, "index": actualLRP.ActualLRPKey.Index})
_, err := db.unclaimActualLRP(logger, &actualLRP.ActualLRPKey, &actualLRP.ActualLRPInstanceKey)
if err != nil {
logger.Error("failed-unclaiming-crash", err)
return
}
logger.Debug("succeeded-unclaiming-actual-lrp")
starts.Add(logger, &actualKey)
}
}
示例8: ConvergeLRPs
func (db *SQLDB) ConvergeLRPs(logger lager.Logger, cellSet models.CellSet) ([]*auctioneer.LRPStartRequest, []*models.ActualLRPKeyWithSchedulingInfo, []*models.ActualLRPKey) {
convergeStart := db.clock.Now()
convergeLRPRunsCounter.Increment()
logger.Info("starting")
defer logger.Info("completed")
defer func() {
err := convergeLRPDuration.Send(time.Since(convergeStart))
if err != nil {
logger.Error("failed-sending-converge-lrp-duration-metric", err)
}
}()
now := db.clock.Now()
db.pruneDomains(logger, now)
db.pruneEvacuatingActualLRPs(logger, now)
domainSet, err := db.domainSet(logger)
if err != nil {
return nil, nil, nil
}
db.emitDomainMetrics(logger, domainSet)
converge := newConvergence(db)
converge.staleUnclaimedActualLRPs(logger, now)
converge.actualLRPsWithMissingCells(logger, cellSet)
converge.lrpInstanceCounts(logger, domainSet)
converge.orphanedActualLRPs(logger)
converge.crashedActualLRPs(logger, now)
return converge.result(logger)
}
示例9: transact
func (db *SQLDB) transact(logger lager.Logger, f func(logger lager.Logger, tx *sql.Tx) error) error {
var err error
for attempts := 0; attempts < 3; attempts++ {
err = func() error {
tx, err := db.db.Begin()
if err != nil {
return err
}
defer tx.Rollback()
err = f(logger, tx)
if err != nil {
return err
}
return tx.Commit()
}()
if attempts >= 2 || db.convertSQLError(err) != models.ErrDeadlock {
break
} else {
logger.Error("deadlock-transaction", err, lager.Data{"attempts": attempts})
time.Sleep(500 * time.Millisecond)
}
}
return err
}
示例10: Destroy
// Destroy deletes the container and the bundle directory
func (c *Containerizer) Destroy(log lager.Logger, handle string) error {
log = log.Session("destroy", lager.Data{"handle": handle})
log.Info("started")
defer log.Info("finished")
state, err := c.runtime.State(log, handle)
if err != nil {
log.Info("state-failed-skipping-delete", lager.Data{"error": err.Error()})
return nil
}
log.Info("state", lager.Data{
"state": state,
})
if state.Status == runrunc.CreatedStatus || state.Status == runrunc.StoppedStatus {
if err := c.runtime.Delete(log, handle); err != nil {
log.Error("delete-failed", err)
return err
}
}
return nil
}
示例11: actualLRPsWithMissingCells
// Unclaim Actual LRPs that have missing cells (not in the cell set passed to
// convergence) and add them to the list of start requests.
func (c *convergence) actualLRPsWithMissingCells(logger lager.Logger, cellSet models.CellSet) {
// time.Sleep(1000 * time.Second)
logger = logger.Session("actual-lrps-with-missing-cells")
keysWithMissingCells := make([]*models.ActualLRPKeyWithSchedulingInfo, 0)
rows, err := c.selectLRPsWithMissingCells(logger, c.db, cellSet)
if err != nil {
logger.Error("failed-query", err)
return
}
for rows.Next() {
var index int32
schedulingInfo, err := c.fetchDesiredLRPSchedulingInfoAndMore(logger, rows, &index)
if err == nil {
keysWithMissingCells = append(keysWithMissingCells, &models.ActualLRPKeyWithSchedulingInfo{
Key: &models.ActualLRPKey{
ProcessGuid: schedulingInfo.ProcessGuid,
Domain: schedulingInfo.Domain,
Index: index,
},
SchedulingInfo: schedulingInfo,
})
}
}
if rows.Err() != nil {
logger.Error("failed-getting-next-row", rows.Err())
}
c.keysWithMissingCells = keysWithMissingCells
}
示例12: initializeServer
func initializeServer(logger lager.Logger, uploaderConfig config.UploaderConfig) ifrit.Runner {
transport := &http.Transport{
Proxy: http.ProxyFromEnvironment,
Dial: (&net.Dialer{
Timeout: ccUploadDialTimeout,
KeepAlive: ccUploadKeepAlive,
}).Dial,
TLSClientConfig: &tls.Config{
InsecureSkipVerify: uploaderConfig.SkipCertVerify,
},
TLSHandshakeTimeout: ccUploadTLSHandshakeTimeout,
}
pollerHttpClient := cfhttp.NewClient()
pollerHttpClient.Transport = transport
uploader := ccclient.NewUploader(logger, &http.Client{Transport: transport})
poller := ccclient.NewPoller(logger, pollerHttpClient, time.Duration(uploaderConfig.CCJobPollingInterval))
ccUploaderHandler, err := handlers.New(uploader, poller, logger)
if err != nil {
logger.Error("router-building-failed", err)
os.Exit(1)
}
return http_server.New(uploaderConfig.ListenAddress, ccUploaderHandler)
}
示例13: initializeDropsonde
func initializeDropsonde(logger lager.Logger, uploaderConfig config.UploaderConfig) {
dropsondeDestination := fmt.Sprint("localhost:", uploaderConfig.DropsondePort)
err := dropsonde.Initialize(dropsondeDestination, dropsondeOrigin)
if err != nil {
logger.Error("failed to initialize dropsonde: %v", err)
}
}
示例14: Metrics
func (p *ExternalImageManager) Metrics(log lager.Logger, _, rootfs string) (garden.ContainerDiskStat, error) {
log = log.Session("image-plugin-metrics", lager.Data{"rootfs": rootfs})
log.Debug("start")
defer log.Debug("end")
imagePath := filepath.Dir(rootfs)
cmd := exec.Command(p.binPath, "stats", imagePath)
cmd.Stderr = lagregator.NewRelogger(log)
outBuffer := bytes.NewBuffer([]byte{})
cmd.Stdout = outBuffer
if err := p.commandRunner.Run(cmd); err != nil {
logData := lager.Data{"action": "stats", "stderr": outBuffer.String()}
log.Error("external-image-manager-result", err, logData)
return garden.ContainerDiskStat{}, fmt.Errorf("external image manager metrics failed: %s (%s)", outBuffer.String(), err)
}
var metrics map[string]map[string]uint64
if err := json.NewDecoder(outBuffer).Decode(&metrics); err != nil {
return garden.ContainerDiskStat{}, fmt.Errorf("parsing metrics: %s", err)
}
return garden.ContainerDiskStat{
TotalBytesUsed: metrics["disk_usage"]["total_bytes_used"],
ExclusiveBytesUsed: metrics["disk_usage"]["exclusive_bytes_used"],
}, nil
}
示例15: failExpiredPendingTasks
func (db *SQLDB) failExpiredPendingTasks(logger lager.Logger, expirePendingTaskDuration time.Duration) int64 {
logger = logger.Session("fail-expired-pending-tasks")
now := db.clock.Now()
result, err := db.update(logger, db.db, tasksTable,
SQLAttributes{
"failed": true,
"failure_reason": "not started within time limit",
"result": "",
"state": models.Task_Completed,
"first_completed_at": now.UnixNano(),
"updated_at": now.UnixNano(),
},
"state = ? AND created_at < ?", models.Task_Pending, now.Add(-expirePendingTaskDuration).UnixNano())
if err != nil {
logger.Error("failed-query", err)
return 0
}
rowsAffected, err := result.RowsAffected()
if err != nil {
logger.Error("failed-rows-affected", err)
return 0
}
return rowsAffected
}