Ротация логов при завершении суток

Имеется код на go, прошу помощи в организации логирования, в данном коде файл логов создается из текущей даты + время и имя файла логов не меняется. Хотелось бы чтоб файл логов при завершении суток создавался заново с новой датой, и при завершении следующих суток снова создавался и так далее пока не завершится программа.

// version 0.1.9

package main

import (

    "log"
    "net/http"
    "os"
    "strconv"
    "time"
)


func main() {

    const datestring string = ".log"
    const datestring2 string = "/home/john/logs/ps/ps-"

    // Using time.Now() function.
    dt := time.Now()
    logsfiles := (datestring2 + dt.Format("2006-01-02") + datestring)

    f, err := os.OpenFile(logsfiles, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
    if err != nil {
        log.Fatalf("error opening file: %v", err)
    }
    defer f.Close()

    log.SetOutput(f)

    go http.HandleFunc("/", parseGhPost)
    go http.ListenAndServeTLS(":4443", "fullchain1.pem", "privkey1.pem", nil)
    //http.ListenAndServe(":4443", nil)

}

Ответы (0 шт):