按说一个服务端程序,首先是一个守护进程,需要能够用某种机制自动重启,程序运行情况要记到日志里。
Go虽然不能说完全不支持守护进程,但是一则不能用一个daemon函数搞定,再则实现方法跟linux环境下三步走的机制相比,虽然原理必须是一样的,但不是俺样的美学。再考虑到自动重启的,完全可以用supervisord来实现这两个需求。
再说日志,Go本身带了log包,应该说还是好用的,当然有限制也是必然的。
-
logMain := ProfileItems["logMain"].(map[string]interface{})
-
logPath := logMain["logPath"].(string)
-
// logSize := logMain["logSize"].(float64) * 1024 * 1024
-
-
logFile, err := os.OpenFile(logPath+"main.log", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0644)
-
-
if err != nil {
-
panic(err)
-
}
-
-
defer logFile.Close()
-
-
logger := log.New(logFile, "", log.LstdFlags|log.Lshortfile)
-
logger.Println("This is a first log")
首先是获取日志路径,前面说过,配置项是各取所需。接下来就是打开或者创建文件,当然是需要可append的。
日志部分暂时就先到这,更多的功能留待将来继续。
阅读(5183) | 评论(0) | 转发(0) |