package log import ( "log" "os" "github.com/coredns/coredns/core/dnsserver" "github.com/coredns/coredns/plugin" "github.com/coredns/coredns/plugin/pkg/response" "github.com/mholt/caddy" "github.com/miekg/dns" ) func init() { caddy.RegisterPlugin("log", caddy.Plugin{ ServerType: "dns", Action: setup, }) } func setup(c *caddy.Controller) error { rules, err := logParse(c) if err != nil { return plugin.Error("log", err) } // Open the log files for writing when the server starts c.OnStartup(func() error { for i := 0; i < len(rules); i++ { rules[i].Log = log.New(os.Stdout, "", 0) } return nil }) dnsserver.GetConfig(c).AddPlugin(func(next plugin.Handler) plugin.Handler { return Logger{Next: next, Rules: rules, ErrorFunc: dnsserver.DefaultErrorFunc} }) return nil } func logParse(c *caddy.Controller) ([]Rule, error) { var rules []Rule for c.Next() { args := c.RemainingArgs() if len(args) == 0 { // Nothing specified; use defaults rules = append(rules, Rule{ NameScope: ".", Format: DefaultLogFormat, }) } else if len(args) == 1 { rules = append(rules, Rule{ NameScope: dns.Fqdn(args[0]), Format: DefaultLogFormat, }) } else { // Name scope, and maybe a format specified format := DefaultLogFormat switch args[1] { case "{common}": format = CommonLogFormat case "{combined}": format = CombinedLogFormat default: format = args[1] } rules = append(rules, Rule{ NameScope: dns.Fqdn(args[0]), Format: format, }) } // Class refinements in an extra block. for c.NextBlock() { switch c.Val() { // class followed by all, denial, error or success. case "class": classes := c.RemainingArgs() if len(classes) == 0 { return nil, c.ArgErr() } cls, err := response.ClassFromString(classes[0]) if err != nil { return nil, err } // update class and the last added Rule (bit icky) rules[len(rules)-1].Class = cls default: return nil, c.ArgErr() } } } return rules, nil } fetch-proper-handshake Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
path: root/src/javascript/jsc/bindings/webcore/JSDOMCastThisValue.h (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2022-04-03[bun.js] Expose `ImageData` globallyGravatar Jarred Sumner 12-2/+1237
2022-04-02More typesGravatar Jarred Sumner 2-39/+3998
2022-04-02Add more typingsGravatar Jarred Sumner 1-2/+416
2022-04-02Add more tests for Node FSGravatar Jarred Sumner 4-1/+60
2022-04-02[bun.js] fs.readSync & fs.writeSync should return just the numberGravatar Jarred Sumner 1-24/+57
2022-04-02[bun.js] Support `mode` and `flags` as integer args in fs.openSync (instead o...Gravatar Jarred Sumner 1-0/+6
2022-04-02Update base.zigGravatar Jarred Sumner 1-0/+1
2022-04-02Fix GC bug when reading TypedArray from user inputGravatar Jarred Sumner 1-6/+36
2022-04-02s/Buffer/TypedArrayGravatar Jarred Sumner 1-17/+17
2022-04-02Fix mmap on macOS x64Gravatar Jarred Sumner 2-29/+27