Categorygithub.com/abiosoft/lineprefix
modulepackage
0.1.4
Repository: https://github.com/abiosoft/lineprefix.git
Documentation: pkg.go.dev

# README

lineprefix

Go Reference Go

io.Writer wrapper with line prefix and color customizations.

Usage

Static Prefix

prefix := lineprefix.Prefix("app |")
writer := lineprefix.New(prefix)

fmt.Fprintln(writer, "hello world")

output

app | hello world

Dynamic Prefix

now := func() string { return time.Now().UTC().Format("2006-01-02 15:04:05") }
prefix := lineprefix.PrefixFunc(now)
writer := lineprefix.New(prefix)

for i := 0; i<3; i++ {
    fmt.Fprintln(writer, "hello world")
    time.Sleep(time.Second)
}

output

2021-06-01 18:53:15 hello world
2021-06-01 18:53:16 hello world
2021-06-01 18:53:17 hello world

Color

Colors can be added with fatih/color.

Colored Prefix

A prefix with blue text on white background.

blue := color.New(color.FgBlue, color.BgWhite).SprintFunc()
prefix := lineprefix.Prefix(blue("app"))
writer := lineprefix.New(prefix)

fmt.Fprintln(writer, "this outputs blue on white prefix text")

Colored Output

A blue colored output.

blue := color.New(color.FgBlue)
option := lineprefix.Color(blue)
writer := lineprefix.New(option)

fmt.Fprintln(writer, "this outputs blue color text")

Example

The example file has an overview of the capabilities.

go run example/main.go

Screenshot

colored prefix and colored text from the example.

Screenshot

License

MIT

# Packages

No description provided by the author

# Functions

Color sets the colour for the line outputs, excluding the prefix.
New creates a new lineprefix writer with options.
Prefix sets the prefix to use.
PrefixFunc is like prefix but with the ability to make it dynamic.
RenderEscaped (if true) enables the rendering of escaped whitespace characters.
Writer sets the writer to use.

# Interfaces

Option is the configuration option for a new instance of lineprefix writer.