本文整理汇总了Golang中mozilla/org/util.HekaLogger.Critical方法的典型用法代码示例。如果您正苦于以下问题:Golang HekaLogger.Critical方法的具体用法?Golang HekaLogger.Critical怎么用?Golang HekaLogger.Critical使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类mozilla/org/util.HekaLogger
的用法示例。
在下文中一共展示了HekaLogger.Critical方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: newMC
// Generate a new Memcache Client
func newMC(servers []string, config util.JsMap, logger *util.HekaLogger) (mc gomc.Client) {
var err error
/* if mcsPoolSize >= mcsMaxPoolSize {
return nil
}
*/
mc, err = gomc.NewClient(servers, 1, gomc.ENCODING_GOB)
if err != nil {
logger.Critical("storage", "CRITICAL HIT!",
util.Fields{"error": err.Error()})
}
// internally hash key using MD5 (for key distribution)
mc.SetBehavior(gomc.BEHAVIOR_KETAMA_HASH, 1)
// Use the binary protocol, which allows us faster data xfer
// and better data storage (can use full UTF-8 char space)
mc.SetBehavior(gomc.BEHAVIOR_BINARY_PROTOCOL, 1)
//mc.SetBehavior(gomc.BEHAVIOR_NO_BLOCK, 1)
// NOTE! do NOT set BEHAVIOR_NOREPLY + Binary. This will cause
// libmemcache to drop into an infinite loop.
if v, ok := config["memcache.recv_timeout"]; ok {
d, err := time.ParseDuration(v.(string))
if err == nil {
mc.SetBehavior(gomc.BEHAVIOR_SND_TIMEOUT,
uint64(d.Nanoseconds()*1000))
}
}
if v, ok := config["memcache.send_timeout"]; ok {
d, err := time.ParseDuration(v.(string))
if err == nil {
mc.SetBehavior(gomc.BEHAVIOR_RCV_TIMEOUT,
uint64(d.Nanoseconds()*1000))
}
}
if v, ok := config["memcache.poll_timeout"]; ok {
d, err := time.ParseDuration(v.(string))
if err == nil {
mc.SetBehavior(gomc.BEHAVIOR_POLL_TIMEOUT,
uint64(d.Nanoseconds()*1000))
}
}
if v, ok := config["memcache.retry_timeout"]; ok {
d, err := time.ParseDuration(v.(string))
if err == nil {
mc.SetBehavior(gomc.BEHAVIOR_RETRY_TIMEOUT,
uint64(d.Nanoseconds()*1000))
}
}
atomic.AddInt32(&mcsPoolSize, 1)
return mc
}