代码拉取完成,页面将自动刷新
package main
import (
"bufio"
"fmt"
"os"
"path/filepath"
"time"
"gitee.com/ling_boogie/mahjong-helper/util"
)
func newShantenLogFilePath(nickName string, accountID string) (filePath string, err error) {
// 获取或者创建shanten日志
const logDir = "shanten"
if err = os.MkdirAll(logDir, os.ModePerm); err != nil {
return
}
fileName := fmt.Sprintf("shanten-%s-%s.log", nickName, accountID)
filePath = filepath.Join(logDir, fileName)
return filepath.Abs(filePath)
}
func PrintFirstShantenLog(nickName string, accountID string, shanten int) {
// 设置日志输出到 shanten/shanten-xxx.log
if debugMode {
fmt.Printf("%s-%s-%d\n", nickName, accountID, shanten)
}
filePath, err := newShantenLogFilePath(nickName, accountID)
if err != nil {
return
}
logFile, err := os.OpenFile(filePath, os.O_CREATE|os.O_APPEND|os.O_WRONLY, 0666)
if err != nil {
return
}
//及时关闭file句柄
defer func(logFile *os.File) {
err := logFile.Close()
if err != nil {
util.OrangevillePrint("[ERROR] printFirstShantenLog: log open failed.")
return
}
}(logFile)
//写入文件时,使用带缓存的 *Writer
write := bufio.NewWriter(logFile)
year, month, day := DateYmdInts()
inStr := fmt.Sprintf(
"{\"year\":%d, "+
"\"month\":%d, "+
"\"day\":%d, "+
"\"shanten\":%d}"+
"\n",
year, month, day, shanten)
_, err = write.WriteString(inStr)
if err != nil {
return
}
//Flush将缓存的文件真正写入到文件中
err = write.Flush()
if err != nil {
return
}
}
// DateYmdInts 获取日期的年月日
func DateYmdInts() (int, int, int) {
timeNow := time.Now()
year, month, day := timeNow.Date()
return year, int(month), day
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。