func init() { if term.IsTty(os.Stdout.Fd()) { StdoutHandler = StreamHandler(os.Stdout, TerminalFormat()) } if term.IsTty(os.Stderr.Fd()) { StderrHandler = StreamHandler(os.Stderr, TerminalFormat()) } root = &logger{[]interface{}{}, &swapHandler{handler: StdoutHandler}} }
func init() { if term.IsTty(os.Stdout.Fd()) { StdoutHandler = StreamHandler(colorable.NewColorableStdout(), TerminalFormat()) } if term.IsTty(os.Stderr.Fd()) { StderrHandler = StreamHandler(colorable.NewColorableStderr(), TerminalFormat()) } root = &logger{[]interface{}{}, new(swapHandler)} root.SetHandler(StdoutHandler) }
func init() { var handler log.Handler if term.IsTty(os.Stdout.Fd()) { handler = log.StreamHandler(os.Stdout, log.TerminalFormat()) } else { handler = log.StreamHandler(os.Stdout, log.JsonFormat()) } log.Root().SetHandler(handler) ncr.Log.SetHandler(handler) }
func (w *Logged) HandlerFor(target, level, format string) (log.Handler, error) { lvl, err := log.LvlFromString(level) if err != nil { return nil, fmt.Errorf("Invalid log level: %v", err) } var logformat log.Format switch format { case "json": logformat = log.JsonFormat() case "logfmt": logformat = log.LogfmtFormat() case "terminal", "term": switch { case target == "stdout" && term.IsTty(os.Stdout.Fd()): logformat = log.TerminalFormat() case target == "stderr" && term.IsTty(os.Stderr.Fd()): logformat = log.TerminalFormat() default: logformat = log.LogfmtFormat() } default: return nil, fmt.Errorf("Invalid log format: %v", format) } var handler log.Handler switch target { case "stdout": handler = log.StreamHandler(colorable.NewColorableStdout(), logformat) case "stderr": handler = log.StreamHandler(colorable.NewColorableStderr(), logformat) case "false": handler = log.DiscardHandler() default: handler, err = log.FileHandler(target, logformat) if err != nil { return nil, fmt.Errorf("Failed to open log file '%s': %v", target, err) } } return log.LvlFilterHandler(lvl, handler), nil }
*/ package term import ( "io" "os" "strings" "github.com/tgulacsi/go/iohlp" "github.com/tgulacsi/go/text" "golang.org/x/text/encoding" "gopkg.in/inconshreveable/log15.v2/term" ) var IsTTY = term.IsTty(os.Stdout.Fd()) // GetTTYEncoding returns the TTY encoding, or UTF-8 if not found. func GetTTYEncoding() encoding.Encoding { enc := GetRawTTYEncoding() if enc != nil { return enc } return text.GetEncoding("UTF-8") } // GetRawTTYEncoding returns the TTY encoding, or nil if not found. func GetRawTTYEncoding() encoding.Encoding { lang := GetTTYEncodingName() if lang == "" { return nil