[#20] Support prefixed tagging

Now different log messages can use the same tag:
* `tag:delete remove object`
* `tag:delete remove version`

Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
This commit is contained in:
Denis Kirillov 2024-09-24 15:14:14 +03:00
parent 52c2ec525c
commit f3359f98f4

View file

@ -48,19 +48,6 @@ func newStdoutLogger(v *viper.Viper) *Logger {
return &Logger{logger: l, lvl: c.Level}
}
func openZapSinks(cfg zap.Config) (zapcore.WriteSyncer, zapcore.WriteSyncer, error) {
sink, closeOut, err := zap.Open(cfg.OutputPaths...)
if err != nil {
return nil, nil, err
}
errSink, _, err := zap.Open(cfg.ErrorOutputPaths...)
if err != nil {
closeOut()
return nil, nil, err
}
return sink, errSink, nil
}
func newJournaldLogger(v *viper.Viper) *Logger {
c := newZapLogConfig(v)
@ -79,6 +66,19 @@ func newJournaldLogger(v *viper.Viper) *Logger {
return &Logger{logger: l, lvl: c.Level}
}
func openZapSinks(cfg zap.Config) (zapcore.WriteSyncer, zapcore.WriteSyncer, error) {
sink, closeOut, err := zap.Open(cfg.OutputPaths...)
if err != nil {
return nil, nil, err
}
errSink, _, err := zap.Open(cfg.ErrorOutputPaths...)
if err != nil {
closeOut()
return nil, nil, err
}
return sink, errSink, nil
}
func newZapLogConfig(v *viper.Viper) zap.Config {
lvl, err := getLogLevel(v.GetString(cfgLoggerLevel))
if err != nil {
@ -111,7 +111,7 @@ func filteringLogOption(v *viper.Viper) options.FilterFunc {
msg := entry.Message[4:] // len("tag:")
for _, tag := range tags {
if msg == tag {
if strings.HasPrefix(msg, tag) {
return true
}
}