stderr.go 635 B

12345678910111213141516171819202122232425262728
  1. package log
  2. import (
  3. "fmt"
  4. "leafstalk/otherutils/file"
  5. "leafstalk/otherutils/system"
  6. "log"
  7. "os"
  8. "time"
  9. )
  10. // 输出到控制台的错误日志重定向到文件中
  11. func RedirectStderr(appName string) {
  12. matchedPattern := fmt.Sprintf("%s.stderr.*.log", appName)
  13. err := file.RemoveMatchedFiles(matchedPattern)
  14. if err != nil {
  15. log.Fatalf("redirectStderr error %v", err)
  16. }
  17. nfp := fmt.Sprintf("%s.stderr.%s.log", appName, time.Now().Format("20060102"))
  18. file, err := os.OpenFile(nfp, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
  19. if err != nil {
  20. log.Fatalf("redirectStderr OpenFile error %v", err)
  21. }
  22. system.Stderr(file)
  23. }