Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This utility allows creating a logger with "advanced" filters like in the following example. It is particularly convenient to use with a CLI flag package or using environment variables. core := zap.NewExample().Core() // *=myns => any level, myns namespace // info,warn:myns.* => info or warn level, any namespace matching myns.* // error=* => everything with error level logger := zap.New(zapfilter.NewFilteringCore(core, zapfilter.MustParseRules("*:myns info,warn:myns.* error:*"))) defer logger.Sync() logger.Debug("top debug") // no match logger.Named("myns").Debug("myns debug") // matches *:myns logger.Named("bar").Debug("bar debug") // no match logger.Named("myns").Named("foo").Debug("myns.foo debug") // no match logger.Info("top info") // no match logger.Named("myns").Info("myns info") // matches *:myns logger.Named("bar").Info("bar info") // no match logger.Named("myns").Named("foo").Info("myns.foo info") // matches info,warn:myns.* logger.Warn("top warn") // no match logger.Named("myns").Warn("myns warn") // matches *:myns logger.Named("bar").Warn("bar warn") // no match logger.Named("myns").Named("foo").Warn("myns.foo warn") // matches info,warn:myns.* logger.Error("top error") // matches error:* logger.Named("myns").Error("myns error") // matches *:myns and error:* logger.Named("bar").Error("bar error") // matches error:* logger.Named("myns").Named("foo").Error("myns.foo error") // matches error:* // Output: // {"level":"debug","logger":"myns","msg":"myns debug"} // {"level":"info","logger":"myns","msg":"myns info"} // {"level":"info","logger":"myns.foo","msg":"myns.foo info"} // {"level":"warn","logger":"myns","msg":"myns warn"} // {"level":"warn","logger":"myns.foo","msg":"myns.foo warn"} // {"level":"error","msg":"top error"} // {"level":"error","logger":"myns","msg":"myns error"} // {"level":"error","logger":"bar","msg":"bar error"} // {"level":"error","logger":"myns.foo","msg":"myns.foo error"}
- Loading branch information