Documentation
¶
Overview ¶
Package log defined a logger
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Logger ¶
type Logger struct {
ID string
// contains filtered or unexported fields
}
Logger represents file system transaction logger
func (*Logger) Log ¶
Log logs a message
Example ¶
package main
import (
"github.com/viant/afs"
"github.com/viant/tapper/config"
"github.com/viant/tapper/log"
"github.com/viant/tapper/msg"
"github.com/viant/tapper/msg/json"
slog "log"
)
func main() {
cfg := &config.Stream{
URL: "/tmp/logfile.log",
Codec: "gzip",
Rotation: &config.Rotation{
EveryMs: 100,
URL: "/tmp/logfile.log.[yyyyMMdd_HH]-%v",
},
}
logger, err := log.New(cfg, "myID", afs.New())
if err != nil {
slog.Fatal(err)
}
provider := msg.NewProvider(2048, 32, json.New)
for i := 0; i < 100; i++ {
message := provider.NewMessage()
message.PutString("k1", "value1")
message.PutInt("k2", 2)
message.PutStrings("k3", []string{"1", "3"})
err = logger.Log(message)
if err != nil {
slog.Fatal(err)
}
message.Free()
}
logger.Close()
}
Click to show internal directories.
Click to hide internal directories.