12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- package utils
- import (
- "fmt"
- "log"
- "os"
- "runtime"
- "strconv"
- "strings"
- "time"
- )
- func Cwd(i int) string {
- _, fp, _, _ := runtime.Caller(i)
- slice := strings.Split(fp, "/")
- slice = slice[:len(slice)-1]
- path := strings.Join(slice, "/")
- return path
- }
- func Err(err error) {
- _, fp, line, _ := runtime.Caller(1)
- errStr := fmt.Sprintf("Error at %s:%d: %s\n", fp, line, err)
- fmt.Printf("%s", errStr)
- log, _ := os.OpenFile("error.log", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0655)
- defer log.Close()
- errLogStr := fmt.Sprintf("%s %s", time.Now(), errStr)
- log.WriteString(errLogStr)
- }
- func CheckArgs() {
- if len(os.Args) < 2 {
- log.Fatalf("ERROR: port number required: eg ./bin 3000")
- }
- _, err := strconv.Atoi(os.Args[1])
- if err != nil {
- log.Fatalf("ERROR: port must be a number")
- }
- }
|