本文整理汇总了Golang中Logger.PutErr函数的典型用法代码示例。如果您正苦于以下问题:Golang PutErr函数的具体用法?Golang PutErr怎么用?Golang PutErr使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了PutErr函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: PostApplyScoreData
func PostApplyScoreData(teamName string, ApplyScore *PostApplyScore) (*Status, error) {
l.PutInfo(l.I_M_PostPage, teamName, ApplyScore)
//更新情報をGlobal変数に格納する
defer SetPlayerCol(ApplyScore.UserIds)
AUserIdInTheTeam := teams[teamName].UserIds[0]
if players[AUserIdInTheTeam].Apply != 0 {
l.Output(
logrus.Fields{
"User Apply": l.Sprintf(players[AUserIdInTheTeam].Apply),
},
"Apply score is already registered",
l.Debug,
)
return &Status{"already registered"}, nil
}
for playerIndex, userId := range ApplyScore.UserIds {
findQuery := bson.M{"userid": userId}
setQuery := bson.M{"$set": bson.M{"apply": ApplyScore.Apply[playerIndex]}}
if err = UpdateMongoData("player", findQuery, setQuery); err != nil {
l.PutErr(err, l.Trace(), l.E_M_Update, ApplyScore.Apply[playerIndex])
return &Status{"failed"}, err
}
}
return &Status{"success"}, nil
}
示例2: readPump
// readPump pumps messages from the websocket connection to the hub.
func (c *connection) readPump() {
defer func() {
H.Unregister <- c
c.ws.Close()
}()
c.ws.SetReadLimit(maxMessageSize)
c.ws.SetReadDeadline(time.Now().Add(pongWait))
c.ws.SetPongHandler(func(string) error { c.ws.SetReadDeadline(time.Now().Add(pongWait)); return nil })
for {
err := c.ws.ReadJSON(&thread)
if err != nil {
if thread == nil {
break
}
l.Output(
logrus.Fields{
l.ErrMsg: l.ErrToStr(err),
l.TraceMsg: l.TraceToStr(l.Trace()),
"Thread": l.Sprintf(thread),
},
"can not read JSON or Closed Websocket",
l.Debug,
)
break
}
if newThread, err = m.UpdateExistingTimeLine(thread); err != nil {
l.PutErr(err, l.Trace(), l.E_R_Upsert, thread)
}
H.Broadcast <- newThread
}
}
示例3: writePump
// writePump pumps messages from the hub to the websocket connection.
func (c *connection) writePump() {
ticker := time.NewTicker(pingPeriod)
defer func() {
ticker.Stop()
c.ws.Close()
}()
for {
select {
case threadToResponse, ok := <-c.send:
if !ok {
c.write(websocket.CloseMessage, []byte{})
return
}
if err := c.ws.WriteJSON(threadToResponse); err != nil {
l.Output(
logrus.Fields{
l.ErrMsg: l.ErrToStr(err),
l.TraceMsg: l.TraceToStr(l.Trace()),
"Thread": l.Sprintf(threadToResponse),
},
"can not write JSON",
l.Debug,
)
return
}
case <-ticker.C:
if err := c.write(websocket.PingMessage, []byte{}); err != nil {
l.PutErr(err, l.Trace(), l.E_R_PingMsg, websocket.PingMessage)
return
}
}
}
}
示例4: register
func register(req *restful.Request, resp *restful.Response) {
date := req.PathParameter("date")
collection := req.PathParameter("collection")
if origin := req.HeaderParameter(restful.HEADER_Origin); origin != "" {
if len(resp.Header().Get(restful.HEADER_AccessControlAllowOrigin)) == 0 {
resp.AddHeader(restful.HEADER_AccessControlAllowOrigin, origin)
}
}
l.Output(
logrus.Fields{
"Date": date,
"Collection": collection,
"Request": l.Sprintf(req),
"Response": l.Sprintf(resp),
},
"Post access to register router",
l.Debug,
)
switch collection {
case "user":
userCols := new([]m.UserCol)
if err := req.ReadEntity(userCols); err != nil {
resp.WriteErrorString(http.StatusBadRequest, err.Error())
return
}
status, err := m.RegisterUserColData(*userCols)
if err != nil {
l.PutErr(err, l.Trace(), l.E_R_RegisterCol, userCols)
}
resp.WriteAsJson(status)
case "team":
teamCols := new([]m.TeamCol)
if err := req.ReadEntity(teamCols); err != nil {
resp.WriteErrorString(http.StatusBadRequest, err.Error())
return
}
status, err := m.RegisterTeamColData(date, *teamCols)
if err != nil {
l.PutErr(err, l.Trace(), l.E_R_RegisterCol, teamCols)
}
resp.WriteAsJson(status)
case "field":
fieldCols := new([]m.FieldCol)
if err := req.ReadEntity(fieldCols); err != nil {
resp.WriteErrorString(http.StatusBadRequest, err.Error())
return
}
status, err := m.RegisterFieldColData(date, *fieldCols)
if err != nil {
l.PutErr(err, l.Trace(), l.E_R_RegisterCol, fieldCols)
}
resp.WriteAsJson(status)
case "thread":
requestTakePictureStatus := new(m.RequestTakePictureStatus)
if err := req.ReadEntity(requestTakePictureStatus); err != nil {
resp.WriteErrorString(http.StatusBadRequest, err.Error())
return
}
status, err := m.RegisterThreadImg(requestTakePictureStatus)
if err != nil {
l.PutErr(err, l.Trace(), l.E_R_RegisterCol, requestTakePictureStatus)
}
resp.WriteAsJson(status)
}
}
示例5: postOne
func postOne(req *restful.Request, resp *restful.Response) {
page := req.PathParameter("page")
team := req.PathParameter("team")
hole := req.PathParameter("hole")
if origin := req.HeaderParameter(restful.HEADER_Origin); origin != "" {
if len(resp.Header().Get(restful.HEADER_AccessControlAllowOrigin)) == 0 {
resp.AddHeader(restful.HEADER_AccessControlAllowOrigin, origin)
}
}
l.Output(
logrus.Fields{
"Page": page,
"Team": team,
"Hole": hole,
"Request": l.Sprintf(req),
"Response": l.Sprintf(resp),
},
"Post access to page router",
l.Debug,
)
switch page {
case "login":
loginInfo := new(m.PostLogin)
err := req.ReadEntity(loginInfo)
if err != nil { // bad request
resp.WriteErrorString(http.StatusBadRequest, err.Error())
return
}
status, err := m.PostLoginPageData(loginInfo)
if err != nil {
l.PutErr(err, l.Trace(), l.E_R_PostPage, loginInfo)
}
resp.WriteAsJson(status)
case "scoreViewSheet":
definedTeam := new(m.PostDefinedTeam)
err := req.ReadEntity(definedTeam)
if err != nil { // bad request
resp.WriteErrorString(http.StatusBadRequest, err.Error())
return
}
status, err := m.PostScoreViewSheetPageData(team, definedTeam)
if err != nil {
l.PutErr(err, l.Trace(), l.E_R_PostPage, definedTeam)
}
resp.WriteAsJson(status)
case "scoreEntrySheet":
updatedTeamScore := new(m.PostTeamScore)
err := req.ReadEntity(updatedTeamScore)
if err != nil { // bad request
resp.WriteErrorString(http.StatusBadRequest, err.Error())
return
}
status, err := m.PostScoreEntrySheetPageData(team, hole, updatedTeamScore)
if err != nil {
l.PutErr(err, l.Trace(), l.E_R_PostPage, updatedTeamScore)
}
resp.WriteAsJson(status)
case "applyScore":
if hole != "" {
return
}
registeredApplyScore := new(m.PostApplyScore)
err := req.ReadEntity(registeredApplyScore)
if err != nil {
resp.WriteErrorString(http.StatusBadRequest, err.Error())
return
}
status, err := m.PostApplyScoreData(team, registeredApplyScore)
if err != nil {
l.PutErr(err, l.Trace(), l.E_R_PostPage, registeredApplyScore)
}
resp.WriteAsJson(status)
}
}
示例6: UpsertNewTimeLine
func UpsertNewTimeLine(thread *Thread) error {
l.PutInfo(l.I_M_PostPage, thread, nil)
//更新情報をGlobal変数に格納する
defer SetAllThreadCol()
defaultColor := "#c0c0c0"
if len(thread.ThreadId) != 0 {
l.PutErr(nil, l.Trace(), l.E_WrongData, thread)
return errors.New("thread id exists")
}
db, session := mongoConn()
threadCol := db.C("thread")
defer session.Close()
thread.ThreadId = make20lengthHashString()
thread.CreatedAt = time.Now().Format(c.DatetimeFormat)
thread.ColorCode = defaultColor
if err = threadCol.Insert(thread); err != nil {
l.PutErr(err, l.Trace(), l.E_M_Insert, thread)
return err
}
ThreadChan <- thread
return nil
}
示例7: RegisterFieldColData
func RegisterFieldColData(date string, fieldCols []FieldCol) (*Status, error) {
l.PutInfo(l.I_M_RegisterCol, date, fieldCols)
defer SetAllFieldCol()
db, session := mongoConn()
fieldC := db.C("field")
defer session.Close()
var createCnt, updateCnt int
for _, fieldCol := range fieldCols {
if fieldCol.Hole > 18 || fieldCol.Hole < 0 {
l.PutErr(nil, l.Trace(), l.E_WrongData, fieldCol.Hole)
return &Status{"this is not hole number"}, err
}
fieldCol.Ignore = false
fieldCol.Date = date
findQuery := bson.M{"hole": fieldCol.Hole}
change, err := fieldC.Upsert(findQuery, fieldCol)
if err != nil {
l.PutErr(err, l.Trace(), l.E_M_Upsert, fieldCol.Hole)
return &Status{"can not upsert"}, err
}
if change.Updated == 0 {
createCnt += 1
} else {
updateCnt += 1
}
}
return &Status{"success"}, nil
}
示例8: RegisterThreadImg
func RegisterThreadImg(r *RequestTakePictureStatus) (*RequestTakePictureStatus, error) {
l.PutInfo(l.I_M_RegisterCol, r, nil)
defer SetPlayerCol([]string{r.UserId})
if len(r.ThreadId) == 0 {
return nil, errors.New("there is not thread id")
}
if len(r.PhotoUrl) == 0 {
return nil, errors.New("there is not pthoto url ")
}
threadFindQuery := bson.M{"threadid": r.ThreadId}
threadSetQuery := bson.M{"$set": bson.M{"imgurl": r.PhotoUrl}}
if err = UpdateMongoData("thread", threadFindQuery, threadSetQuery); err != nil {
l.PutErr(err, l.Trace(), l.E_M_Update, r.PhotoUrl)
return &RequestTakePictureStatus{Status: "failed"}, err
}
var photoKey string
if r.Positive {
photoKey = "positivephotourl"
} else {
photoKey = "negativephotourl"
}
playerFindQuery := bson.M{"userid": r.UserId}
playerSetQuery := bson.M{"$set": bson.M{photoKey: r.PhotoUrl}}
if err = UpdateMongoData("player", playerFindQuery, playerSetQuery); err != nil {
l.PutErr(err, l.Trace(), l.E_M_Update, r.PhotoUrl)
return &RequestTakePictureStatus{Status: "failed"}, err
}
SetAllThreadCol()
thread := &Thread{
ThreadId: r.ThreadId,
UserId: threads[r.ThreadId].UserId,
UserName: threads[r.ThreadId].UserName,
Msg: threads[r.ThreadId].Msg,
ImgUrl: threads[r.ThreadId].ImgUrl,
ColorCode: threads[r.ThreadId].ColorCode,
Positive: threads[r.ThreadId].Positive,
CreatedAt: threads[r.ThreadId].CreatedAt,
}
ThreadChan <- thread
requestTakePictureStatus, err := RequestTakePicture(r.TeamUserIds)
if err != nil {
return nil, err
}
if len(requestTakePictureStatus.ThreadId) != 0 {
return requestTakePictureStatus, nil
}
return &RequestTakePictureStatus{Status: "success"}, nil
}
示例9: RegisterTeamColData
func RegisterTeamColData(date string, teamCols []TeamCol) (*Status, error) {
l.PutInfo(l.I_M_RegisterCol, date, teamCols)
defer SetAllPlayerCol()
defer SetAllTeamCol()
db, session := mongoConn()
playerC := db.C("player")
teamC := db.C("team")
defer session.Close()
var OneBeforebyteOfA byte = 64
alphabet := make([]byte, 1)
alphabet[0] = OneBeforebyteOfA
totalHoleNum := 18
for _, teamCol := range teamCols {
if len(teamCol.UserIds) == 0 {
l.PutErr(nil, l.Trace(), l.E_Nil, teamCol)
return &Status{"this team do not have user id"}, nil
}
alphabet[0] += 1
teamCol.Name = string(alphabet)
teamCol.Defined = false
teamCol.Date = date
if err := teamC.Insert(teamCol); err != nil {
l.PutErr(err, l.Trace(), l.E_M_Insert, teamCol)
return &Status{"can not insert"}, err
}
for _, userId := range teamCol.UserIds {
scores := []bson.M{}
for holeNum := 1; holeNum <= totalHoleNum; holeNum++ {
score := bson.M{
"hole": holeNum,
"putt": 0,
"total": 0,
}
scores = append(scores, score)
}
player := PlayerCol{
UserId: userId,
Score: scores,
Date: date,
}
if err := playerC.Insert(player); err != nil {
l.PutErr(err, l.Trace(), l.E_M_Insert, player)
return &Status{"can not insert"}, err
}
}
}
return &Status{"success"}, nil
}
示例10: PostScoreEntrySheetPageData
func PostScoreEntrySheetPageData(teamName string, holeString string, teamScore *PostTeamScore) (*RequestTakePictureStatus, error) {
l.PutInfo(l.I_M_PostPage, teamName, teamScore)
userIds := teams[teamName].UserIds
//更新情報をGlobal変数に格納する
defer SetPlayerCol(userIds)
if len(holeString) == 0 {
l.PutErr(nil, l.Trace(), l.E_Nil, teamName)
return &RequestTakePictureStatus{Status: "failed"}, errors.New("hole is not string")
}
holeNum, _ := strconv.Atoi(holeString)
holeIndex := holeNum - 1
holeIndexString := strconv.Itoa(holeIndex)
if teamScore.Excnt != excnt[teamName][holeNum] {
return &RequestTakePictureStatus{Status: "other updated"}, nil
} else {
excnt[teamName][holeNum]++
}
for playerIndex, userId := range teamScore.UserIds {
total, putt := teamScore.Total[playerIndex], teamScore.Putt[playerIndex]
findQuery := bson.M{"userid": userId}
setQuery := bson.M{
"$set": bson.M{
"score." + holeIndexString + ".total": total,
"score." + holeIndexString + ".putt": putt,
},
}
if err = UpdateMongoData("player", findQuery, setQuery); err != nil {
l.PutErr(err, l.Trace(), l.E_M_Update, userId)
return &RequestTakePictureStatus{Status: "failed update score"}, err
}
}
// Thread登録
if err := RegisterThreadOfScore(holeString, teamScore); err != nil {
l.PutErr(err, l.Trace(), l.E_M_RegisterThread, teamScore)
return nil, err
}
// チーム内に写真リクエストがあるか確認する
requestTakePictureStatus, err := RequestTakePicture(userIds)
if err != nil {
l.PutErr(err, l.Trace(), l.E_M_SearchPhotoTask, userIds)
return nil, err
}
return requestTakePictureStatus, nil
}
示例11: GetScoreEntrySheetPageData
func GetScoreEntrySheetPageData(teamName string, holeString string) (*ScoreEntrySheet, error) {
l.PutInfo(l.I_M_GetPage, teamName, holeString)
if len(holeString) == 0 {
l.PutErr(nil, l.Trace(), l.E_Nil, teamName)
return nil, errors.New("hole string is nil")
}
holeNum, _ := strconv.Atoi(holeString)
holeIndex := holeNum - 1
field := fields[holeNum]
userIds := teams[teamName].UserIds
member := make([]string, len(userIds))
total := make([]int, len(userIds))
putt := make([]int, len(userIds))
for i, userId := range userIds {
member[i] = users[userId].Name
total[i] = players[userId].Score[holeIndex]["total"].(int)
putt[i] = players[userId].Score[holeIndex]["putt"].(int)
}
scoreEntrySheet := ScoreEntrySheet{
Team: teamName,
Hole: holeNum,
Member: member,
UserIds: userIds,
Par: field.Par,
Yard: field.Yard,
Total: total,
Putt: putt,
Excnt: excnt[teamName][holeNum],
}
return &scoreEntrySheet, nil
}
示例12: make20lengthHashString
func make20lengthHashString() string {
b := make([]byte, 32)
if _, err := io.ReadFull(rand.Reader, b); err != nil {
l.PutErr(err, l.Trace(), l.E_MakeHash, rand.Reader)
}
longHash := strings.TrimRight(base32.StdEncoding.EncodeToString(b), "=")
return string([]rune(longHash)[:20])
}
示例13: ServeWs
// serveWs handles websocket requests from the peer.
func ServeWs(w http.ResponseWriter, r *http.Request) {
ws, err := upgrader.Upgrade(w, r, nil)
if err != nil {
l.PutErr(err, l.Trace(), l.E_R_Upgrader, nil)
return
}
c := &connection{send: make(chan *m.Thread, 256), ws: ws}
H.Register <- c
go c.writePump()
c.readPump()
}
示例14: SetAllThreadCol
func SetAllThreadCol() {
db, session := mongoConn()
col := db.C("thread")
defer session.Close()
threadsCol := []ThreadCol{}
if err = col.Find(nil).All(&threadsCol); err != nil {
l.PutErr(err, l.Trace(), l.E_M_FindEntireCol, nil)
}
for _, threadCol := range threadsCol {
threads[threadCol.ThreadId] = threadCol
}
}
示例15: SetAllUserCol
func SetAllUserCol() {
db, session := mongoConn()
col := db.C("user")
defer session.Close()
usersCol := []UserCol{}
if err = col.Find(nil).All(&usersCol); err != nil {
l.PutErr(err, l.Trace(), l.E_M_FindEntireCol, nil)
}
for _, userCol := range usersCol {
users[userCol.UserId] = userCol
}
}