X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=src%2Ffoundation%2Fapi%2Frevel%2Flogger%2Flog_function_map.go;fp=src%2Ffoundation%2Fapi%2Frevel%2Flogger%2Flog_function_map.go;h=ebbc76dfea6f43011f16f43f3c90bbf0a65f5277;hb=1d1ee6961c93781e1187d8c7faa868da6b2f01f4;hp=0000000000000000000000000000000000000000;hpb=56dd5e0f2164b37b40ac1daa188ccc618b4cbd19;p=iec.git diff --git a/src/foundation/api/revel/logger/log_function_map.go b/src/foundation/api/revel/logger/log_function_map.go new file mode 100644 index 0000000..ebbc76d --- /dev/null +++ b/src/foundation/api/revel/logger/log_function_map.go @@ -0,0 +1,37 @@ +package logger + +import ( + "os" +) + +// The log function map can be added to, so that you can specify your own logging mechanism +// it has defaults for off, stdout, stderr +var LogFunctionMap = map[string]func(*CompositeMultiHandler, *LogOptions){ + // Do nothing - set the logger off + "off": func(c *CompositeMultiHandler, logOptions *LogOptions) { + // Only drop the results if there is a parent handler defined + if logOptions.HandlerWrap != nil { + for _, l := range logOptions.Levels { + c.SetHandler(logOptions.HandlerWrap.SetChild(NilHandler()), logOptions.ReplaceExistingHandler, l) + } + } else { + // Clear existing handler + c.SetHandlers(NilHandler(), logOptions) + } + }, + // Do nothing - set the logger off + "": func(*CompositeMultiHandler, *LogOptions) {}, + // Set the levels to stdout, replace existing + "stdout": func(c *CompositeMultiHandler, logOptions *LogOptions) { + if logOptions.Ctx != nil { + logOptions.SetExtendedOptions( + "noColor", !logOptions.Ctx.BoolDefault("log.colorize", true), + "smallDate", logOptions.Ctx.BoolDefault("log.smallDate", true)) + } + c.SetTerminal(os.Stdout, logOptions) + }, + // Set the levels to stderr output to terminal + "stderr": func(c *CompositeMultiHandler, logOptions *LogOptions) { + c.SetTerminal(os.Stderr, logOptions) + }, +}