| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- package main
- import (
- "fmt"
- "log"
- "log/syslog"
- "net/http"
- )
- const (
- logRequestFmt = "[%s] %s: %s"
- logRequestSyslogFmt = "REQUEST [%s] %s: %s"
- logResponseFmt = "[%s] |\033[7;%dm %d \033[0m| %s"
- logResponseSyslogFmt = "RESPONSE [%s] | %d | %s"
- logWarningFmt = "\033[1;33m[WARNING]\033[0m %s"
- logWarningSyslogFmt = "WARNING %s"
- logFatalSyslogFmt = "FATAL %s"
- )
- func logRequest(reqID string, r *http.Request) {
- path := r.URL.RequestURI()
- log.Printf(logRequestFmt, reqID, r.Method, path)
- if syslogWriter != nil {
- syslogWriter.Notice(fmt.Sprintf(logRequestSyslogFmt, reqID, r.Method, path))
- }
- }
- func logResponse(reqID string, status int, msg string) {
- var color int
- switch {
- case status >= 500:
- color = 31
- case status >= 400:
- color = 33
- default:
- color = 32
- }
- log.Printf(logResponseFmt, reqID, color, status, msg)
- if syslogWriter != nil {
- syslogMsg := fmt.Sprintf(logResponseSyslogFmt, reqID, status, msg)
- switch {
- case status >= 500:
- if syslogLevel >= syslog.LOG_ERR {
- syslogWriter.Err(syslogMsg)
- }
- case status >= 400:
- if syslogLevel >= syslog.LOG_WARNING {
- syslogWriter.Warning(syslogMsg)
- }
- default:
- if syslogLevel >= syslog.LOG_NOTICE {
- syslogWriter.Notice(syslogMsg)
- }
- }
- }
- }
- func logNotice(f string, args ...interface{}) {
- msg := fmt.Sprintf(f, args...)
- log.Print(msg)
- if syslogWriter != nil && syslogLevel >= syslog.LOG_NOTICE {
- syslogWriter.Notice(msg)
- }
- }
- func logWarning(f string, args ...interface{}) {
- msg := fmt.Sprintf(f, args...)
- log.Printf(logWarningFmt, msg)
- if syslogWriter != nil && syslogLevel >= syslog.LOG_WARNING {
- syslogWriter.Warning(fmt.Sprintf(logWarningSyslogFmt, msg))
- }
- }
- func logFatal(f string, args ...interface{}) {
- msg := fmt.Sprintf(f, args...)
- if syslogWriter != nil {
- syslogWriter.Crit(fmt.Sprintf(logFatalSyslogFmt, msg))
- }
- log.Fatal(msg)
- }
|