logs.go 483 B

123456789101112131415161718192021222324
  1. package hook
  2. import (
  3. "fmt"
  4. "os"
  5. "path"
  6. "path/filepath"
  7. "github.com/ncarlier/webhookd/pkg/helper"
  8. )
  9. // GetLogFile get hook log with its name and id
  10. func GetLogFile(id, name, base string) (*os.File, error) {
  11. logPattern := path.Join(base, fmt.Sprintf("%s_%s_*.txt", helper.ToSnake(name), id))
  12. files, err := filepath.Glob(logPattern)
  13. if err != nil {
  14. return nil, err
  15. }
  16. if len(files) > 0 {
  17. filename := files[len(files)-1]
  18. return os.Open(filename)
  19. }
  20. return nil, nil
  21. }