cflag
- wraps and extends Go flag build pertty CLI command
cflag - wraps and extends Go flag build pertty CLI command
· 4 min read
cflag
- wraps and extends Go flag build pertty CLI command
gitw
- Git 命令包装器,生成 git 变更记录日志,获取 repo 信息和一些 git 命令工具。
git
命令git
命令git log
快速生成版本变更日志slog
- a lightweight, configurable, extensible Go logging library
trace
debug
info
notice
warn
error
fatal
panic
Handler
Formatter
as neededHandler
log processing at the same time, outputting logs to different placesFormatter
json
text
two log record formatting Formatter
Handler
handler.Config
handler.Builder
can easily and quickly build the desired log handlerconsole
output logs to the console, supports color outputwriter
output logs to the specified io.Writer
file
output log to the specified file, optionally enable buffer
to buffer writessimple
output log to the specified file, write directly to the file without bufferingrotate_file
outputs logs to the specified file, and supports splitting files by time and size, and buffer
buffered writing is enabled by defaultbuffer
for log writingtime
and size
gzip
BackupNum
BackupTime
go get github.com/gookit/slog
package main
import (
"github.com/gookit/slog"
)
func main() {
slog.Trace("this is a log message")
slog.Debug("this is a log message")
slog.Info("this is a log message")
slog.Notice("this is a log message")
slog.Warn("this is a log message")
slog.Error("this is a log message")
slog.Fatal("this is a log message")
}
output preview:
Using slog
to output logs to files is very convenient, and supports multiple files, splitting by time, etc.
package main
import (
"github.com/gookit/slog"
"github.com/gookit/slog/handler"
"github.com/gookit/slog/rotatefile"
)
func main() {
defer slog.MustFlush()
// DangerLevels contains: slog.PanicLevel, slog.ErrorLevel, slog.WarnLevel
h1 := handler.MustRotateFile("/tmp/logs/app_error.log", rotatefile.EveryHour,
handler.WithLogLevels(slog.DangerLevels),
)
// NormalLevels contains: slog.InfoLevel, slog.NoticeLevel, slog.DebugLevel, slog.TraceLevel
h2 := handler.MustRotateFile("/tmp/logs/app_info.log", rotatefile.EveryHour,
handler.WithLogLevels(slog.NormalLevels),
)
slog.PushHandler(h1)
slog.PushHandler(h2)
// add logs
slog.Info("info message text")
slog.Error("error message text")
}
See logs dir:
$ ls /tmp/logs
app_error.log
app_info.log
More usage please see README
php-toolkit/pflag
是一个PHP编写的,通用的命令行标志(选项和参数)解析库。
Github 仓库: php-toolkit/pflag
简单学习编写bash命令自动补全
简单快速的配置自己的bash环境