mirror of
				https://github.com/coredns/coredns.git
				synced 2025-10-31 02:03:20 -04:00 
			
		
		
		
	New plugin: loop (#1989)
* New plugin: loop Add a plugin that detects loops. It does this by sending an unique query to our selves. If we see the query more than twice we stop the process. If there isn't a loop, the plugin disables it self and becomes a noop plugin. Signed-off-by: Miek Gieben <miek@miek.nl>
This commit is contained in:
		| @@ -3,6 +3,7 @@ package log | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	golog "log" | ||||
| 	"os" | ||||
| ) | ||||
|  | ||||
| // P is a logger that includes the plugin doing the logging. | ||||
| @@ -58,4 +59,10 @@ func (p P) Error(v ...interface{}) { p.log(err, v...) } | ||||
| // Errorf logs as log.Errorf. | ||||
| func (p P) Errorf(format string, v ...interface{}) { p.logf(err, format, v...) } | ||||
|  | ||||
| // Fatal logs as log.Fatal and calls os.Exit(1). | ||||
| func (p P) Fatal(v ...interface{}) { p.log(fatal, v...); os.Exit(1) } | ||||
|  | ||||
| // Fatalf logs as log.Fatalf and calls os.Exit(1). | ||||
| func (p P) Fatalf(format string, v ...interface{}) { p.logf(fatal, format, v...); os.Exit(1) } | ||||
|  | ||||
| func pFormat(s string) string { return "plugin/" + s + ": " } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user