当前位置: 首页>>代码示例>>Golang>>正文


Golang Context.Warningf方法代码示例

本文整理汇总了Golang中appengine.Context.Warningf方法的典型用法代码示例。如果您正苦于以下问题:Golang Context.Warningf方法的具体用法?Golang Context.Warningf怎么用?Golang Context.Warningf使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在appengine.Context的用法示例。


在下文中一共展示了Context.Warningf方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: AppEngineLogHandler

// AppEngineLogHandler sends logs to AppEngine.
// The record must contain the appengine request context.
func AppEngineLogHandler() log15.Handler {
	logFormat := log15.JsonFormat()
	return log15.FuncHandler(func(r *log15.Record) error {
		var c appengine.Context
		index := 0
		for i, e := range r.Ctx {
			if ct, ok := e.(appengine.Context); ok {
				c = ct
				index = i
				break
			}
		}
		if c == nil {
			// not in the context of a request
			return nil
		}
		r.Ctx = append(r.Ctx[:index-1], r.Ctx[index+1:]...)
		log := string(logFormat.Format(r))
		switch r.Lvl {
		case log15.LvlCrit:
			c.Criticalf(log)
		case log15.LvlError:
			c.Errorf(log)
		case log15.LvlWarn:
			c.Warningf(log)
		case log15.LvlInfo:
			c.Infof(log)
		case log15.LvlDebug:
			c.Debugf(log)
		}
		return nil
	})
}
开发者ID:patrickToca,项目名称:goa,代码行数:35,代码来源:appengine.go

示例2: webuserOK

func webuserOK(c appengine.Context, w http.ResponseWriter, r *http.Request) bool {
	if !userauthenticated(c) {
		url, err := user.LoginURL(c, r.URL.String())
		if err != nil {
			http.Error(w, err.Error(), http.StatusInternalServerError)
			return false
		}
		w.Header().Set("Location", url)
		w.WriteHeader(http.StatusFound)
		return false
	}
	u := user.Current(c)
	authzed, err := userauthorized(c, u.Email)
	if err != nil {
		c.Errorf("authorization error: %v", err)
		http.Error(w, err.Error(), http.StatusInternalServerError)
		return false
	}
	if !authzed {
		c.Warningf("authorization failure: %v", u.Email)
		w.WriteHeader(http.StatusForbidden)
		err = templates.ExecuteTemplate(w, "unauthorized.html", nil)
		if err != nil {
			c.Errorf("unauthorized user and got err on template: %v", err)
		}
		return false
	}
	return true
}
开发者ID:jimhopp,项目名称:frederic,代码行数:29,代码来源:web.go

示例3: getCached

func getCached(c appengine.Context, key string, missing func(appengine.Context, string) (*bytes.Buffer, error)) (*memcache.Item, error) {

	item, err := memcache.Get(c, key)

	if err == memcache.ErrCacheMiss {
		c.Infof("item not in the cache: %v", key)

		result, err := missing(c, key)

		if err != nil {
			return nil, err
		}

		item = &memcache.Item{
			Key:   key,
			Value: result.Bytes(),
		}

		if err := memcache.Add(c, item); err == memcache.ErrNotStored {
			c.Warningf("item with key %q already exists", item.Key)
		} else if err != nil {
			return item, err
		}
	} else if err != nil {
		return item, err
	} else {
		c.Infof("Cache hit: %v", key)
	}

	return item, nil
}
开发者ID:coel,项目名称:greenyfy,代码行数:31,代码来源:cache.go

示例4: CacheAccount

// CacheAccount puts the specified Account into the cache (memcache).
func CacheAccount(c appengine.Context, acc *ds.Account) {
	mk := prefixAccForUID + acc.UserID

	if err := memcache.Set(c, &memcache.Item{Key: mk, Value: acc.Encode(), Expiration: cachedAccExpiration}); err != nil {
		c.Warningf("Failed to set %s in memcache: %v", mk, err)
	}
}
开发者ID:icza,项目名称:iczagps,代码行数:8,代码来源:account.go

示例5: runFunc

func runFunc(c appengine.Context, w http.ResponseWriter, req *http.Request) {
	defer req.Body.Close()

	var inv invocation
	if err := gob.NewDecoder(req.Body).Decode(&inv); err != nil {
		c.Errorf("delay: failed decoding task payload: %v", err)
		c.Warningf("delay: dropping task")
		return
	}

	f := funcs[inv.Key]
	if f == nil {
		c.Errorf("delay: no func with key %q found", inv.Key)
		c.Warningf("delay: dropping task")
		return
	}

	// TODO: This is broken for variadic functions.
	ft := f.fv.Type()
	in := make([]reflect.Value, ft.NumIn())
	in[0] = reflect.ValueOf(c)
	for i := 1; i < len(in); i++ {
		in[i] = reflect.ValueOf(inv.Args[i-1])
	}
	out := f.fv.Call(in)

	if n := ft.NumOut(); n > 0 && ft.Out(n-1) == osErrorType {
		if errv := out[n-1]; !errv.IsNil() {
			c.Errorf("delay: func failed (will retry): %v", errv.Interface())
			w.WriteHeader(http.StatusInternalServerError)
			return
		}
	}
}
开发者ID:ashokgelal,项目名称:gorilla,代码行数:34,代码来源:delay.go

示例6: CacheDevice

// CacheDevice puts the specified Device into the cache (memcache).
func CacheDevice(c appengine.Context, dev *ds.Device) {
	mk := prefixDevForRandID + dev.RandID

	if err := memcache.Set(c, &memcache.Item{Key: mk, Value: dev.Encode()}); err != nil {
		c.Warningf("Failed to set %s in memcache: %v", mk, err)
	}
}
开发者ID:icza,项目名称:iczagps,代码行数:8,代码来源:device.go

示例7: ClearDeviceForRandID

// ClearDeviceForRandID clears the cached Device for the specified RandID.
func ClearDeviceForRandID(c appengine.Context, RandID string) {
	mk := prefixDevForRandID + RandID

	if err := memcache.Delete(c, mk); err != nil {
		c.Warningf("Failed to delete %s from memcache: %v", mk, err)
	}
}
开发者ID:icza,项目名称:iczagps,代码行数:8,代码来源:device.go

示例8: locateFavIconURL

// locateFavIconURL attempts to determine the "favicon" URL for a particular
// site URL. It does this by checking the source document for explicit icon
// directives (in the LINK tags), as well as by attempting to fetch favicon.ico
func locateFavIconURL(context appengine.Context, feedHomeURL string) (string, error) {
	if feedHomeURL != "" {
		// Attempt to extract the favicon from the source document
		if favIconURL, err := extractFavIconURL(context, feedHomeURL); err != nil {
			context.Warningf("FavIcon extraction failed for %s: %s", feedHomeURL, err)
		} else if favIconURL != "" {
			if contains, err := containsFavIcon(context, favIconURL); err != nil {
				context.Warningf("FavIcon lookup failed for %s: %s", feedHomeURL, err)
			} else if contains {
				return favIconURL, nil
			}
		}

		// If that fails, try the usual location (/favicon.ico)
		if url, err := url.Parse(feedHomeURL); err != nil {
			return "", err
		} else {
			attemptURL := fmt.Sprintf("%s://%s/favicon.ico", url.Scheme, url.Host)
			if contains, err := containsFavIcon(context, attemptURL); err != nil {
				return "", err
			} else if contains {
				return attemptURL, nil
			}
		}
	}

	return "", nil
}
开发者ID:pokebyte,项目名称:Gofr,代码行数:31,代码来源:common.go

示例9: EditBlogCube

func EditBlogCube(model *M.BlogCube, c appengine.Context) (err error) {
	key, entity := dsHelper.Model2Entity(model)
	blogCubeEntity := entity.(M.BlogCubeEntity)
	c.Warningf("The entity is %v", blogCubeEntity)
	_, err = datastore.Put(c, key, &blogCubeEntity)
	return err
}
开发者ID:butterandfly,项目名称:zBlog,代码行数:7,代码来源:blogCubeDS.go

示例10: Log

// Log is a helper function that logs the given message to appenging
// with the given priority. Accepted priorities are "debug", "info",
// "warn", "error", and "crit". Other values default to "error".
func Log(c appengine.Context, r *http.Request, priority string,
	message string, params ...interface{}) {

	message = fmt.Sprintf("[%s] [%s] [%s]: %s", r.RemoteAddr, r.Method,
		r.URL, message)

	switch priority {
	case "debug":
		c.Debugf(message, params...)

	case "info":
		c.Infof(message, params...)

	case "warn":
		c.Warningf(message, params...)

	case "error":
		c.Errorf(message, params...)

	case "crit":
		c.Criticalf(message, params...)

	default:
		c.Errorf(message, params...)
	}
}
开发者ID:icub3d,项目名称:gorca,代码行数:29,代码来源:log.go

示例11: TriggerBatchProcessing

func TriggerBatchProcessing(c appengine.Context, article ArticleId) error {
	// Instead of submitting a task to match incoming bids, resulting in one task per bid,
	// we collect bids for up to two seconds and batch-process them afterwards.
	semaphoreKey := "semaphore-" + string(article)
	if semaphore, err := memcache.Increment(c, semaphoreKey, 1, 0); err != nil {
		return err
	} else if semaphore >= 2 {
		c.Infof("Batch processing already triggered for article %v", article)
		memcache.IncrementExisting(c, semaphoreKey, -1)
		return nil
	} else {
		time.Sleep(1 * time.Second)
		c.Infof("Starting batch processing...")
		memcache.IncrementExisting(c, semaphoreKey, -1)
		time_before := time.Now()
		matchingErr := MatchIncomingBids(c, article)
		time_after := time.Now()
		duration := time_after.Sub(time_before)
		if duration > 1000*time.Millisecond {
			c.Errorf("Batch processing finished after %v. Limit exceeded!", duration)
		} else if duration > 500*time.Millisecond {
			c.Warningf("Batch processing finished after %v. Limit in danger.", duration)
		} else {
			c.Infof("Batch processing finished after %v.", duration)
		}
		return matchingErr
	}
}
开发者ID:TimSylvester,项目名称:bitwrk,代码行数:28,代码来源:gae_main.go

示例12: storeStatsObject

func storeStatsObject(c appengine.Context, st Stats, uuid string) error {
	cherr := make(chan error)

	oldSize := len(st.Data)
	if err := st.compress(); err != nil {
		return err
	}
	c.Infof("Compressed stat data from %v -> %v", oldSize, len(st.Data))

	k, err := datastore.Put(c,
		datastore.NewIncompleteKey(c, "Stats", nil), &st)
	if err != nil {
		c.Warningf("Error storing stats item:  %v", err)
		return err
	}

	go func() {
		err := couchit(c, k, nil)
		if err != nil {
			c.Errorf("Error queuing store of stats item:  %v", err)
		}
		cherr <- err
	}()

	go func() {
		err := updateUnique(c, k, uuid)
		if err != nil {
			c.Errorf("Error queueing update unique:  %v", err)
		}
		cherr <- err
	}()

	return anyErr(<-cherr, <-cherr)
}
开发者ID:couchbaselabs,项目名称:statstore,代码行数:34,代码来源:storage.go

示例13: ParseFeed

func ParseFeed(c appengine.Context, contentType, origUrl, fetchUrl string, body []byte) (*Feed, []*Story, error) {
	cr := defaultCharsetReader
	if !bytes.EqualFold(body[:len(xml.Header)], []byte(xml.Header)) {
		enc, err := encodingReader(body, contentType)
		if err != nil {
			return nil, nil, err
		}
		if enc != encoding.Nop {
			cr = nilCharsetReader
			body, err = ioutil.ReadAll(transform.NewReader(bytes.NewReader(body), enc.NewDecoder()))
			if err != nil {
				return nil, nil, err
			}
		}
	}
	var feed *Feed
	var stories []*Story
	var atomerr, rsserr, rdferr error
	feed, stories, atomerr = parseAtom(c, body, cr)
	if feed == nil {
		feed, stories, rsserr = parseRSS(c, body, cr)
	}
	if feed == nil {
		feed, stories, rdferr = parseRDF(c, body, cr)
	}
	if feed == nil {
		c.Warningf("atom parse error: %s", atomerr.Error())
		c.Warningf("xml parse error: %s", rsserr.Error())
		c.Warningf("rdf parse error: %s", rdferr.Error())
		return nil, nil, fmt.Errorf("Could not parse feed data")
	}
	feed.Url = origUrl
	return parseFix(c, feed, stories, fetchUrl)
}
开发者ID:kissthink,项目名称:goread,代码行数:34,代码来源:utils.go

示例14: AddBlogCube

func AddBlogCube(model *M.BlogCube, c appengine.Context) (err error) {
	c.Warningf("addBlogCube function")
	entity := &(M.BlogCubeEntity{})
	entity.BlogName = model.BlogName
	entityName := "BlogCubeEntity"
	_, err = datastore.Put(c, datastore.NewIncompleteKey(c, entityName, nil), entity)
	return err
}
开发者ID:butterandfly,项目名称:zBlog,代码行数:8,代码来源:blogCubeDS.go

示例15: DSKeyID

func (appUser *AppUser) DSKeyID(c appengine.Context) (string, error) {
	if appUser.ID == "" {
		c.Warningf("Attempted to create an AppUser entity key with no ID!")
		return "", errors.New("AppUser has no ID!")
	}

	return "user:" + appUser.ID, nil
}
开发者ID:reedperry,项目名称:gogram,代码行数:8,代码来源:user.go


注:本文中的appengine.Context.Warningf方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。