mirror of
https://github.com/minio/minio.git
synced 2025-01-11 23:13:23 -05:00
simplify logger time and avoid possible crashes (#13986)
time.Format() is not necessary prematurely for JSON marshalling, since JSON marshalling indeed defaults to RFC3339Nano. This also ensures the 'time' is remembered until its logged and it is the same time when the 'caller' invoked 'log' functions.
This commit is contained in:
parent
5a96cbbeaa
commit
9ad6012782
@ -147,7 +147,7 @@ func GetAuditEntry(ctx context.Context) *audit.Entry {
|
|||||||
r = &audit.Entry{
|
r = &audit.Entry{
|
||||||
Version: audit.Version,
|
Version: audit.Version,
|
||||||
DeploymentID: globalDeploymentID,
|
DeploymentID: globalDeploymentID,
|
||||||
Time: time.Now().UTC().Format(time.RFC3339Nano),
|
Time: time.Now().UTC(),
|
||||||
}
|
}
|
||||||
SetAuditEntry(ctx, r)
|
SetAuditEntry(ctx, r)
|
||||||
return r
|
return r
|
||||||
|
@ -80,7 +80,7 @@ func (f fatalMsg) json(msg string, args ...interface{}) {
|
|||||||
logJSON, err := json.Marshal(&log.Entry{
|
logJSON, err := json.Marshal(&log.Entry{
|
||||||
Level: FatalLvl.String(),
|
Level: FatalLvl.String(),
|
||||||
Message: message,
|
Message: message,
|
||||||
Time: time.Now().UTC().Format(time.RFC3339Nano),
|
Time: time.Now().UTC(),
|
||||||
Trace: &log.Trace{Message: message, Source: []string{getSource(6)}},
|
Trace: &log.Trace{Message: message, Source: []string{getSource(6)}},
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -159,7 +159,7 @@ func (i infoMsg) json(msg string, args ...interface{}) {
|
|||||||
logJSON, err := json.Marshal(&log.Entry{
|
logJSON, err := json.Marshal(&log.Entry{
|
||||||
Level: InformationLvl.String(),
|
Level: InformationLvl.String(),
|
||||||
Message: message,
|
Message: message,
|
||||||
Time: time.Now().UTC().Format(time.RFC3339Nano),
|
Time: time.Now().UTC(),
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
@ -192,7 +192,7 @@ func (i errorMsg) json(msg string, args ...interface{}) {
|
|||||||
logJSON, err := json.Marshal(&log.Entry{
|
logJSON, err := json.Marshal(&log.Entry{
|
||||||
Level: ErrorLvl.String(),
|
Level: ErrorLvl.String(),
|
||||||
Message: message,
|
Message: message,
|
||||||
Time: time.Now().UTC().Format(time.RFC3339Nano),
|
Time: time.Now().UTC(),
|
||||||
Trace: &log.Trace{Message: message, Source: []string{getSource(6)}},
|
Trace: &log.Trace{Message: message, Source: []string{getSource(6)}},
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -349,7 +349,7 @@ func logIf(ctx context.Context, err error, errKind ...interface{}) {
|
|||||||
Host: req.Host,
|
Host: req.Host,
|
||||||
RequestID: req.RequestID,
|
RequestID: req.RequestID,
|
||||||
UserAgent: req.UserAgent,
|
UserAgent: req.UserAgent,
|
||||||
Time: time.Now().UTC().Format(time.RFC3339Nano),
|
Time: time.Now().UTC(),
|
||||||
API: &log.API{
|
API: &log.API{
|
||||||
Name: API,
|
Name: API,
|
||||||
Args: &log.Args{
|
Args: &log.Args{
|
||||||
|
@ -31,10 +31,10 @@ const Version = "1"
|
|||||||
|
|
||||||
// Entry - audit entry logs.
|
// Entry - audit entry logs.
|
||||||
type Entry struct {
|
type Entry struct {
|
||||||
Version string `json:"version"`
|
Version string `json:"version"`
|
||||||
DeploymentID string `json:"deploymentid,omitempty"`
|
DeploymentID string `json:"deploymentid,omitempty"`
|
||||||
Time string `json:"time"`
|
Time time.Time `json:"time"`
|
||||||
Trigger string `json:"trigger"`
|
Trigger string `json:"trigger"`
|
||||||
API struct {
|
API struct {
|
||||||
Name string `json:"name,omitempty"`
|
Name string `json:"name,omitempty"`
|
||||||
Bucket string `json:"bucket,omitempty"`
|
Bucket string `json:"bucket,omitempty"`
|
||||||
@ -61,7 +61,7 @@ func NewEntry(deploymentID string) Entry {
|
|||||||
return Entry{
|
return Entry{
|
||||||
Version: Version,
|
Version: Version,
|
||||||
DeploymentID: deploymentID,
|
DeploymentID: deploymentID,
|
||||||
Time: time.Now().UTC().Format(time.RFC3339Nano),
|
Time: time.Now().UTC(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,7 +17,10 @@
|
|||||||
|
|
||||||
package log
|
package log
|
||||||
|
|
||||||
import "strings"
|
import (
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
// Args - defines the arguments for the API.
|
// Args - defines the arguments for the API.
|
||||||
type Args struct {
|
type Args struct {
|
||||||
@ -41,17 +44,17 @@ type API struct {
|
|||||||
|
|
||||||
// Entry - defines fields and values of each log entry.
|
// Entry - defines fields and values of each log entry.
|
||||||
type Entry struct {
|
type Entry struct {
|
||||||
DeploymentID string `json:"deploymentid,omitempty"`
|
DeploymentID string `json:"deploymentid,omitempty"`
|
||||||
Level string `json:"level"`
|
Level string `json:"level"`
|
||||||
LogKind string `json:"errKind"`
|
LogKind string `json:"errKind"`
|
||||||
Time string `json:"time"`
|
Time time.Time `json:"time"`
|
||||||
API *API `json:"api,omitempty"`
|
API *API `json:"api,omitempty"`
|
||||||
RemoteHost string `json:"remotehost,omitempty"`
|
RemoteHost string `json:"remotehost,omitempty"`
|
||||||
Host string `json:"host,omitempty"`
|
Host string `json:"host,omitempty"`
|
||||||
RequestID string `json:"requestID,omitempty"`
|
RequestID string `json:"requestID,omitempty"`
|
||||||
UserAgent string `json:"userAgent,omitempty"`
|
UserAgent string `json:"userAgent,omitempty"`
|
||||||
Message string `json:"message,omitempty"`
|
Message string `json:"message,omitempty"`
|
||||||
Trace *Trace `json:"error,omitempty"`
|
Trace *Trace `json:"error,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Info holds console log messages
|
// Info holds console log messages
|
||||||
|
@ -21,7 +21,6 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/minio/minio/internal/color"
|
"github.com/minio/minio/internal/color"
|
||||||
"github.com/minio/minio/internal/logger"
|
"github.com/minio/minio/internal/logger"
|
||||||
@ -81,15 +80,20 @@ func (c *Target) Send(e interface{}, logKind string) error {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
apiString := "API: " + entry.API.Name + "("
|
var apiString string
|
||||||
if entry.API.Args != nil && entry.API.Args.Bucket != "" {
|
if entry.API != nil {
|
||||||
apiString = apiString + "bucket=" + entry.API.Args.Bucket
|
apiString = "API: " + entry.API.Name + "("
|
||||||
|
if entry.API.Args != nil && entry.API.Args.Bucket != "" {
|
||||||
|
apiString = apiString + "bucket=" + entry.API.Args.Bucket
|
||||||
|
}
|
||||||
|
if entry.API.Args != nil && entry.API.Args.Object != "" {
|
||||||
|
apiString = apiString + ", object=" + entry.API.Args.Object
|
||||||
|
}
|
||||||
|
apiString += ")"
|
||||||
|
} else {
|
||||||
|
apiString = "INTERNAL"
|
||||||
}
|
}
|
||||||
if entry.API.Args != nil && entry.API.Args.Object != "" {
|
timeString := "Time: " + entry.Time.Format(logger.TimeFormat)
|
||||||
apiString = apiString + ", object=" + entry.API.Args.Object
|
|
||||||
}
|
|
||||||
apiString += ")"
|
|
||||||
timeString := "Time: " + time.Now().Format(logger.TimeFormat)
|
|
||||||
|
|
||||||
var deploymentID string
|
var deploymentID string
|
||||||
if entry.DeploymentID != "" {
|
if entry.DeploymentID != "" {
|
||||||
|
Loading…
Reference in New Issue
Block a user