Add audit logging for S3 and Web handlers (#6571)

This PR brings an additional logger implementation
called AuditLog which logs to http targets

The intention is to use AuditLog to log all incoming
requests, this is used as a mechanism by external log
collection entities for processing Minio requests.
This commit is contained in:
Harshavardhana
2018-10-12 12:25:59 -07:00
committed by kannappanr
parent 143e7fe300
commit b0c9ae7490
17 changed files with 232 additions and 17 deletions

View File

@@ -32,7 +32,8 @@ import (
// is returned to the caller.
type HTTPTarget struct {
// Channel of log entries
logCh chan logEntry
logCh chan interface{}
// HTTP(s) endpoint
endpoint string
client http.Client
@@ -72,14 +73,14 @@ func NewHTTP(endpoint string, transport *http.Transport) LoggingTarget {
client: http.Client{
Transport: transport,
},
logCh: make(chan logEntry, 10000),
logCh: make(chan interface{}, 10000),
}
h.startHTTPLogger()
return &h
}
func (h *HTTPTarget) send(entry logEntry) error {
func (h *HTTPTarget) send(entry interface{}) error {
select {
case h.logCh <- entry:
default: