force enable asynchronous I/O sending events to Fluentd
This commit is contained in:
@@ -261,7 +261,7 @@ func (s3a *S3ApiServer) DeleteMultipleObjectsHandler(w http.ResponseWriter, r *h
|
|||||||
}
|
}
|
||||||
if auditLog != nil {
|
if auditLog != nil {
|
||||||
auditLog.Key = entryName
|
auditLog.Key = entryName
|
||||||
go s3err.PostAccessLog(*auditLog)
|
s3err.PostAccessLog(*auditLog)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -67,6 +67,12 @@ func InitAuditLog(config string) {
|
|||||||
if len(fluentConfig.TagPrefix) == 0 && len(environment) > 0 {
|
if len(fluentConfig.TagPrefix) == 0 && len(environment) > 0 {
|
||||||
fluentConfig.TagPrefix = environment
|
fluentConfig.TagPrefix = environment
|
||||||
}
|
}
|
||||||
|
fluentConfig.Async = true
|
||||||
|
fluentConfig.AsyncResultCallback = func(data []byte, err error) {
|
||||||
|
if err != nil {
|
||||||
|
glog.Warning("Error while posting log: ", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
var err error
|
var err error
|
||||||
Logger, err = fluent.New(*fluentConfig)
|
Logger, err = fluent.New(*fluentConfig)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -162,11 +168,9 @@ func PostLog(r *http.Request, HTTPStatusCode int, errorCode ErrorCode) {
|
|||||||
if Logger == nil {
|
if Logger == nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
go func(log *AccessLog) {
|
if err := Logger.Post(tag, *GetAccessLog(r, HTTPStatusCode, errorCode)); err != nil {
|
||||||
if err := Logger.Post(tag, *log); err != nil {
|
|
||||||
glog.Warning("Error while posting log: ", err)
|
glog.Warning("Error while posting log: ", err)
|
||||||
}
|
}
|
||||||
}(GetAccessLog(r, HTTPStatusCode, errorCode))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func PostAccessLog(log AccessLog) {
|
func PostAccessLog(log AccessLog) {
|
||||||
|
|||||||
Reference in New Issue
Block a user