本文整理汇总了Golang中Logger.Errorln函数的典型用法代码示例。如果您正苦于以下问题:Golang Errorln函数的具体用法?Golang Errorln怎么用?Golang Errorln使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Errorln函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: FindResource
// 获得资源详细信息
func FindResource(id string) (resourceMap map[string]interface{}, comments []map[string]interface{}) {
condition := "id=" + id
resource := model.NewResource()
err := resource.Where(condition).Find()
if err != nil {
logger.Errorln("resource service FindResource error:", err)
return
}
resourceMap = make(map[string]interface{})
util.Struct2Map(resourceMap, resource)
resourceMap["catname"] = GetCategoryName(resource.Catid)
// 链接的host
if resource.Form == model.LinkForm {
urlObj, err := url.Parse(resource.Url)
if err == nil {
resourceMap["host"] = urlObj.Host
}
} else {
resourceMap["url"] = "/resources/" + strconv.Itoa(resource.Id)
}
resourceEx := model.NewResourceEx()
err = resourceEx.Where(condition).Find()
if err != nil {
logger.Errorln("resource service FindResource Error:", err)
return
}
util.Struct2Map(resourceMap, resourceEx)
// 评论信息
comments, ownerUser, _ := FindObjComments(id, strconv.Itoa(model.TYPE_RESOURCE), resource.Uid, 0)
resourceMap["user"] = ownerUser
return
}
示例2: FindArticles
// 获取抓取的文章列表(分页)
func FindArticles(lastId, limit string) []*model.Article {
article := model.NewArticle()
cond := "status IN(0,1)"
if lastId != "0" {
cond += " AND id<" + lastId
}
articleList, err := article.Where(cond).Order("id DESC").Limit(limit).
FindAll()
if err != nil {
logger.Errorln("article service FindArticles Error:", err)
return nil
}
topArticles, err := article.Where("top=?", 1).Order("id DESC").FindAll()
if err != nil {
logger.Errorln("article service Find Top Articles Error:", err)
return nil
}
if len(topArticles) > 0 {
articleList = append(topArticles, articleList...)
}
return articleList
}
示例3: Tick
//entry call
func Tick(tradeAPI TradeAPI, records []Record) bool {
strategyName := Option["strategy"]
strategy, ok := strategys[strategyName]
if !ok {
logger.Errorf("sql: unknown strategy %q (forgotten import? private strategy?)", strategyName)
return false
}
if strategyName != "OPENORDER" {
length = len(records)
//
if length == 0 {
logger.Errorln("warning:detect exception data", len(records))
return false
}
//check exception data in trade center
if checkException(records[length-2], records[length-1]) == false {
logger.Errorln("detect exception data of trade center",
records[length-2].Close, records[length-1].Close, records[length-1].Volumn)
return false
}
lastPrice = records[length-1].Close
}
gTradeAPI = tradeAPI
return strategy.Tick(records)
}
示例4: SaveRule
func SaveRule(form url.Values, opUser string) (errMsg string, err error) {
rule := model.NewCrawlRule()
err = util.ConvertAssign(rule, form)
if err != nil {
logger.Errorln("rule ConvertAssign error", err)
errMsg = err.Error()
return
}
rule.OpUser = opUser
if rule.Id != 0 {
err = rule.Persist(rule)
} else {
_, err = rule.Insert()
}
if err != nil {
errMsg = "内部服务器错误"
logger.Errorln("rule save:", errMsg, ":", err)
return
}
return
}
示例5: FindTopicByTid
// 获得帖子详细信息(包括详细回复)
// 为了避免转换,tid传string类型
func FindTopicByTid(tid string) (topicMap map[string]interface{}, replies []map[string]interface{}, err error) {
condition := "tid=" + tid
// 帖子信息
topic := model.NewTopic()
err = topic.Where(condition).Find()
if err != nil {
logger.Errorln("topic service FindTopicByTid Error:", err)
return
}
// 帖子不存在
if topic.Tid == 0 {
return
}
topicMap = make(map[string]interface{})
util.Struct2Map(topicMap, topic)
topicEx := model.NewTopicEx()
err = topicEx.Where(condition).Find()
if err != nil {
logger.Errorln("topic service FindTopicByTid Error:", err)
return
}
if topicEx.Tid == 0 {
return
}
util.Struct2Map(topicMap, topicEx)
// 节点名字
topicMap["node"] = model.GetNodeName(topic.Nid)
// 回复信息(评论)
replyList, err := model.NewComment().Where("objid=" + tid + " and objtype=" + strconv.Itoa(model.TYPE_TOPIC)).FindAll()
if err != nil {
logger.Errorln("topic service FindTopicByTid Error:", err)
return
}
replyNum := len(replyList)
uids := make(map[int]int, replyNum+1)
uids[topic.Uid] = topic.Uid
for _, reply := range replyList {
uids[reply.Uid] = reply.Uid
}
// 获得用户信息
userMap := getUserInfos(uids)
topicMap["user"] = userMap[topic.Uid]
// 有人回复
if topic.Lastreplyuid != 0 {
topicMap["lastreplyusername"] = userMap[topicMap["lastreplyuid"].(int)].Username
}
replies = make([]map[string]interface{}, 0, replyNum)
for _, reply := range replyList {
tmpMap := make(map[string]interface{})
util.Struct2Map(tmpMap, reply)
tmpMap["user"] = userMap[reply.Uid]
replies = append(replies, tmpMap)
}
return
}
示例6: SaveReading
// 保存晨读
func SaveReading(form url.Values, username string) (errMsg string, err error) {
reading := model.NewMorningReading()
err = util.ConvertAssign(reading, form)
if err != nil {
logger.Errorln("reading SaveReading error", err)
errMsg = err.Error()
return
}
reading.Moreurls = strings.TrimSpace(reading.Moreurls)
if strings.Contains(reading.Moreurls, "\n") {
reading.Moreurls = strings.Join(strings.Split(reading.Moreurls, "\n"), ",")
}
reading.Username = username
logger.Infoln(reading.Rtype, "id=", reading.Id)
if reading.Id != 0 {
err = reading.Persist(reading)
} else {
_, err = reading.Insert()
}
if err != nil {
errMsg = "内部服务器错误"
logger.Errorln("reading save:", errMsg, ":", err)
return
}
return
}
示例7: SaveAuthority
func SaveAuthority(form url.Values, opUser string) (errMsg string, err error) {
authority := model.NewAuthority()
err = util.ConvertAssign(authority, form)
if err != nil {
logger.Errorln("authority ConvertAssign error", err)
errMsg = err.Error()
return
}
authority.OpUser = opUser
if authority.Aid != 0 {
err = authority.Persist(authority)
} else {
authority.Ctime = util.TimeNow()
_, err = authority.Insert()
}
if err != nil {
errMsg = "内部服务器错误"
logger.Errorln(errMsg, ":", err)
return
}
global.AuthorityChan <- struct{}{}
return
}
示例8: LoadRoles
// 将所有 角色 加载到内存中;后台修改角色时,重新加载一次
func LoadRoles() error {
roles, err := model.NewRole().FindAll()
if err != nil {
logger.Errorln("LoadRoles role read fail:", err)
return err
}
if len(roles) == 0 {
logger.Errorln("LoadRoles role read fail: num is 0")
return errors.New("no role")
}
roleLocker.Lock()
defer roleLocker.Unlock()
maxRoleid := roles[len(roles)-1].Roleid
Roles = make([]*model.Role, maxRoleid)
// 由于角色不多,而且一般角色id是连续自增的,因此这里以角色id当slice的index
for _, role := range roles {
Roles[role.Roleid-1] = role
}
logger.Infoln("LoadRoles successfully!")
return nil
}
示例9: FindUsers
func FindUsers() (map[int]*model.User, error) {
userList, err := model.NewUser().FindAll()
if err != nil {
logger.Errorln("user service FindUsers Error:", err)
return nil, err
}
userCount := len(userList)
userMap := make(map[int]*model.User, userCount)
uids := make([]int, userCount)
for i, user := range userList {
userMap[user.Uid] = user
uids[i] = user.Uid
}
// 获得角色信息
userRoleList, err := model.NewUserRole().Where("uid in (" + util.Join(uids, ",") + ")").FindAll()
if err != nil {
logger.Errorln("user service FindUsers Error:", err)
return nil, err
}
for _, userRole := range userRoleList {
user := userMap[userRole.Uid]
if len(user.Roleids) == 0 {
user.Roleids = []int{userRole.Roleid}
user.Rolenames = []string{model.AllRole[userRole.Roleid].Name}
} else {
user.Roleids = append(user.Roleids, userRole.Roleid)
user.Rolenames = append(user.Rolenames, model.AllRole[userRole.Roleid].Name)
}
}
return userMap, nil
}
示例10: FindAll
func (this *UserRole) FindAll(selectCol ...string) ([]*UserRole, error) {
if len(selectCol) == 0 {
selectCol = util.MapKeys(this.colFieldMap())
}
rows, err := this.Dao.FindAll(selectCol...)
if err != nil {
logger.Errorln("[UserRole.FindAll] error:", err)
return nil, err
}
// TODO:
userRoleList := make([]*UserRole, 0, 10)
colNum := len(selectCol)
for rows.Next() {
userRole := NewUserRole()
colFieldMap := userRole.colFieldMap()
scanInterface := make([]interface{}, 0, colNum)
for _, column := range selectCol {
scanInterface = append(scanInterface, colFieldMap[column])
}
err = rows.Scan(scanInterface...)
if err != nil {
logger.Errorln("[UserRole.FindAll Rows] error:", err)
}
userRoleList = append(userRoleList, userRole)
}
return userRoleList, nil
}
示例11: PublishResource
// 增加资源
func PublishResource(uid int, form url.Values) bool {
resource := model.NewResource()
err := util.ConvertAssign(resource, form)
if err != nil {
logger.Errorln("user ConvertAssign error", err)
return false
}
resource.Ctime = time.Now().Format("2006-01-02 15:04:05")
resource.Uid = uid
id, err := resource.Insert()
if err != nil {
logger.Errorln("PublishResource error:", err)
return false
}
// 发布资源,活跃度+10
go IncUserWeight("uid="+strconv.Itoa(uid), 10)
// 入扩展表
resourceEx := model.NewResourceEx()
resourceEx.Id = int(id)
if _, err := resourceEx.Insert(); err != nil {
logger.Errorln("PublishResource Ex error:", err)
return false
}
return true
}
示例12: PostFilter
// 在逻辑处理完之后,最后展示页面
func (this *ViewFilter) PostFilter(rw http.ResponseWriter, req *http.Request) bool {
contentHtml := req.FormValue(CONTENT_TPL_KEY)
if contentHtml == "" {
return true
}
// 为了使用自定义的模板函数,首先New一个以第一个模板文件名为模板名。
// 这样,在ParseFiles时,新返回的*Template便还是原来的模板实例
tpl, err := template.New(this.baseTplName).Funcs(funcMap).ParseFiles(append(this.commonHtmlFiles, config.ROOT+contentHtml)...)
if err != nil {
logger.Errorln("解析模板出错(ParseFiles):", err)
return false
}
// 如果没有定义css和js模板,则定义之
if jsTpl := tpl.Lookup("js"); jsTpl == nil {
tpl.Parse(`{{define "js"}}{{end}}`)
}
if jsTpl := tpl.Lookup("css"); jsTpl == nil {
tpl.Parse(`{{define "css"}}{{end}}`)
}
data := GetData(req)
// 当前用户信息
me, _ := CurrentUser(req)
data["me"] = me
err = tpl.Execute(rw, data)
if err != nil {
logger.Errorln("执行模板出错(Execute):", err)
}
return true
}
示例13: Get_order
func (w *OkcoinTrade) Get_order(symbol, order_id string) (ret bool, m OKOrderTable) {
pParams := make(map[string]string)
pParams["partner"] = w.partner
pParams["symbol"] = symbol
pParams["order_id"] = order_id
ret = true
body, err := w.httpRequest(Config["ok_api_getorder"], pParams)
if err != nil {
ret = false
return
}
_, ret = w.check_json_result(body)
if ret == false {
return
}
doc := json.NewDecoder(strings.NewReader(body))
if err := doc.Decode(&m); err == io.EOF {
logger.Traceln(err)
} else if err != nil {
logger.Errorln(err)
logger.Errorln(body)
logger.Errorln(m)
}
return
}
示例14: PostComment
// 发表评论。入topics_reply库,更新topics和topics_ex库
// objname 注册的评论对象名
func PostComment(objid, objtype, uid int, content string, objname string) error {
comment := model.NewComment()
comment.Objid = objid
comment.Objtype = objtype
comment.Uid = uid
comment.Content = content
// TODO:评论楼层怎么处理,避免冲突?最后的楼层信息保存在内存中?
// 暂时只是从数据库中取出最后的评论楼层
stringBuilder := util.NewBuffer()
stringBuilder.Append("objid=").AppendInt(objid).Append(" AND objtype=").AppendInt(objtype)
tmpCmt, err := model.NewComment().Where(stringBuilder.String()).Order("ctime DESC").Find()
if err != nil {
logger.Errorln("post comment service error:", err)
return err
} else {
comment.Floor = tmpCmt.Floor + 1
}
// 入评论库
cid, err := comment.Insert()
if err != nil {
logger.Errorln("post comment service error:", err)
return err
}
// 回调,不关心处理结果(有些对象可能不需要回调)
if commenter, ok := commenters[objname]; ok {
logger.Debugf("评论[objid:%d] [objtype:%d] [uid:%d] 成功,通知被评论者更新", objid, objtype, uid)
go commenter.UpdateComment(cid, objid, uid, time.Now().Format("2006-01-02 15:04:05"))
}
return nil
}
示例15: TradeKLinePeroid
func (w *Huobi) TradeKLinePeroid(peroid int) (ret bool) {
req, err := http.NewRequest("GET", fmt.Sprintf(Config["trade_kline_url"], peroid, rand.Float64()), nil)
if err != nil {
logger.Fatal(err)
return false
}
req.Header.Set("Referer", Config["trade_flash_url"])
req.Header.Add("Connection", "keep-alive")
req.Header.Add("User-Agent", "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36")
logger.Traceln(req)
if w.client == nil {
w.client = &http.Client{nil, nil, nil}
}
resp, err := w.client.Do(req)
if err != nil {
logger.Errorln(err)
return false
}
defer resp.Body.Close()
if resp.StatusCode == 200 {
var body string
contentEncoding := resp.Header.Get("Content-Encoding")
logger.Tracef("HTTP returned Content-Encoding %s", contentEncoding)
switch contentEncoding {
case "gzip":
body = DumpGZIP(resp.Body)
default:
bodyByte, err := ioutil.ReadAll(resp.Body)
if err != nil {
logger.Errorln("read the http stream failed")
return false
} else {
body = string(bodyByte)
ioutil.WriteFile(fmt.Sprintf("cache/TradeKLine_%03d.data", peroid), bodyByte, os.ModeAppend)
}
}
logger.Traceln(resp.Header.Get("Content-Type"))
ret := strings.Contains(body, "您需要登录才能继续")
if ret {
logger.Traceln("您需要登录才能继续")
return false
} else {
return w.AnalyzePeroidLine(fmt.Sprintf("cache/TradeKLine_%03d.data", peroid), body)
}
} else {
logger.Tracef("HTTP returned status %v", resp)
}
return false
}