podman

Форк
0
49 строк · 1.1 Кб
1
// Copyright (c) 2019 FOSS contributors of https://github.com/nxadm/tail
2
// Copyright (c) 2015 HPE Software Inc. All rights reserved.
3
// Copyright (c) 2013 ActiveState Software Inc. All rights reserved.
4

5
package util
6

7
import (
8
	"fmt"
9
	"log"
10
	"os"
11
	"runtime/debug"
12
)
13

14
type Logger struct {
15
	*log.Logger
16
}
17

18
var LOGGER = &Logger{log.New(os.Stderr, "", log.LstdFlags)}
19

20
// fatal is like panic except it displays only the current goroutine's stack.
21
func Fatal(format string, v ...interface{}) {
22
	// https://github.com/nxadm/log/blob/master/log.go#L45
23
	LOGGER.Output(2, fmt.Sprintf("FATAL -- "+format, v...)+"\n"+string(debug.Stack()))
24
	os.Exit(1)
25
}
26

27
// partitionString partitions the string into chunks of given size,
28
// with the last chunk of variable size.
29
func PartitionString(s string, chunkSize int) []string {
30
	if chunkSize <= 0 {
31
		panic("invalid chunkSize")
32
	}
33
	length := len(s)
34
	chunks := 1 + length/chunkSize
35
	start := 0
36
	end := chunkSize
37
	parts := make([]string, 0, chunks)
38
	for {
39
		if end > length {
40
			end = length
41
		}
42
		parts = append(parts, s[start:end])
43
		if end == length {
44
			break
45
		}
46
		start, end = end, end+chunkSize
47
	}
48
	return parts
49
}
50

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.