// This file is part of MinIO Console Server // Copyright (c) 2022 MinIO, Inc. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Affero General Public License for more details. // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . package log import ( "time" ) // ObjectVersion object version key/versionId type ObjectVersion struct { ObjectName string `json:"objectName"` VersionID string `json:"versionId,omitempty"` } // Args - defines the arguments for the API. type Args struct { Bucket string `json:"bucket,omitempty"` Object string `json:"object,omitempty"` VersionID string `json:"versionId,omitempty"` Objects []ObjectVersion `json:"objects,omitempty"` Metadata map[string]string `json:"metadata,omitempty"` } // Trace - defines the trace. type Trace struct { Message string `json:"message,omitempty"` Source []string `json:"source,omitempty"` Variables map[string]interface{} `json:"variables,omitempty"` } // API - defines the api type and its args. type API struct { Name string `json:"name,omitempty"` } // Entry - defines fields and values of each log entry. type Entry struct { DeploymentID string `json:"deploymentid,omitempty"` Level string `json:"level"` LogKind string `json:"errKind"` Time time.Time `json:"time"` API *API `json:"api,omitempty"` RemoteHost string `json:"remotehost,omitempty"` Host string `json:"host,omitempty"` RequestID string `json:"requestID,omitempty"` SessionID string `json:"sessionID,omitempty"` UserAgent string `json:"userAgent,omitempty"` Message string `json:"message,omitempty"` Trace *Trace `json:"errors,omitempty"` }