Chinaunix首页 | 论坛 | 博客
  • 博客访问: 262482
  • 博文数量: 42
  • 博客积分: 2415
  • 博客等级: 大尉
  • 技术积分: 590
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-13 14:14
文章分类

全部博文(42)

文章存档

2018年(1)

2017年(8)

2015年(3)

2012年(4)

2011年(11)

2010年(1)

2009年(5)

2008年(9)

我的朋友

分类: 云计算

2017-03-21 20:59:23

  按说一个服务端程序,首先是一个守护进程,需要能够用某种机制自动重启,程序运行情况要记到日志里。
  Go虽然不能说完全不支持守护进程,但是一则不能用一个daemon函数搞定,再则实现方法跟linux环境下三步走的机制相比,虽然原理必须是一样的,但不是俺样的美学。再考虑到自动重启的,完全可以用supervisord来实现这两个需求。
  再说日志,Go本身带了log包,应该说还是好用的,当然有限制也是必然的。

  1.     logMain := ProfileItems["logMain"].(map[string]interface{})
  2.     logPath := logMain["logPath"].(string)
  3.     // logSize := logMain["logSize"].(float64) * 1024 * 1024

  4.     logFile, err := os.OpenFile(logPath+"main.log", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0644)

  5.     if err != nil {
  6.         panic(err)
  7.     }

  8.     defer logFile.Close()

  9.     logger := log.New(logFile, "", log.LstdFlags|log.Lshortfile)
  10.     logger.Println("This is a first log")
  首先是获取日志路径,前面说过,配置项是各取所需。接下来就是打开或者创建文件,当然是需要可append的。
  日志部分暂时就先到这,更多的功能留待将来继续。

阅读(5167) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~