示例#1
0
文件: log_file.go 项目: hidu/tool
func SetLogFile(loger *log.Logger, logPath string, log_type LOG_TYPE) error {
	var logFile *os.File
	var err error
	var checkFile = func() error {
		logPathCur := logPath + "." + time.Now().Format(string(log_type))
		if !fs.FileExists(logPathCur) {
			if logFile != nil {
				logFile.Close()
				logFile = nil
			}
			fs.DirCheck(logPathCur)
		}

		if logFile == nil {
			logFile, err = os.OpenFile(logPathCur, os.O_CREATE|os.O_RDWR|os.O_APPEND, 0644)
			if err != nil {
				log.Println("create log file failed [", logPathCur, "]", err)
			}
			loger.SetOutput(logFile)
		}
		return err
	}
	checkFile()
	time_util.SetInterval(func() {
		checkFile()
	}, 1)
	return err
}
示例#2
0
文件: file.go 项目: hidu/goutils
func (cache *FileCache) StartGcTimer(sec int64) {
	time_util.SetInterval(cache.GC, sec)
}