123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package util
- import (
- "fmt"
- "log"
- "os"
- "runtime/debug"
- )
- type Logger struct {
- *log.Logger
- }
- var LOGGER = &Logger{log.New(os.Stderr, "", log.LstdFlags)}
- func Fatal(format string, v ...interface{}) {
-
- LOGGER.Output(2, fmt.Sprintf("FATAL -- "+format, v...)+"\n"+string(debug.Stack()))
- os.Exit(1)
- }
- func PartitionString(s string, chunkSize int) []string {
- if chunkSize <= 0 {
- panic("invalid chunkSize")
- }
- length := len(s)
- chunks := 1 + length/chunkSize
- start := 0
- end := chunkSize
- parts := make([]string, 0, chunks)
- for {
- if end > length {
- end = length
- }
- parts = append(parts, s[start:end])
- if end == length {
- break
- }
- start, end = end, end+chunkSize
- }
- return parts
- }
|