123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- 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
- if status >= 500 {
- color = 31
- } else if status >= 400 {
- color = 33
- } else {
- color = 32
- }
- log.Printf(logResponseFmt, reqID, color, status, msg)
- if syslogWriter != nil {
- msg := fmt.Sprintf(logResponseSyslogFmt, reqID, status, msg)
- if status >= 500 {
- if syslogLevel >= syslog.LOG_ERR {
- syslogWriter.Err(msg)
- }
- } else if status >= 400 {
- if syslogLevel >= syslog.LOG_WARNING {
- syslogWriter.Warning(msg)
- }
- } else {
- if syslogLevel >= syslog.LOG_NOTICE {
- syslogWriter.Notice(msg)
- }
- }
- }
- }
- 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)
- }
|