mirror of
https://github.com/vmware-tanzu/velero.git
synced 2026-09-19 14:34:17 +00:00
Add JSON as an option for log output (#1654)
* Add JSON as an option for log output Signed-off-by: Donovan Carthew <donovan.carthew@gmail.com>
This commit is contained in:
@@ -84,6 +84,7 @@ type restoreController struct {
|
||||
restoreLogLevel logrus.Level
|
||||
defaultBackupLocation string
|
||||
metrics *metrics.ServerMetrics
|
||||
logFormat logging.Format
|
||||
|
||||
newPluginManager func(logger logrus.FieldLogger) clientmgmt.Manager
|
||||
newBackupStore func(*api.BackupStorageLocation, persistence.ObjectStoreGetter, logrus.FieldLogger) (persistence.BackupStore, error)
|
||||
@@ -103,6 +104,7 @@ func NewRestoreController(
|
||||
newPluginManager func(logrus.FieldLogger) clientmgmt.Manager,
|
||||
defaultBackupLocation string,
|
||||
metrics *metrics.ServerMetrics,
|
||||
logFormat logging.Format,
|
||||
) Interface {
|
||||
c := &restoreController{
|
||||
genericController: newGenericController("restore", logger),
|
||||
@@ -117,6 +119,7 @@ func NewRestoreController(
|
||||
restoreLogLevel: restoreLogLevel,
|
||||
defaultBackupLocation: defaultBackupLocation,
|
||||
metrics: metrics,
|
||||
logFormat: logFormat,
|
||||
|
||||
// use variables to refer to these functions so they can be
|
||||
// replaced with fakes for testing.
|
||||
@@ -412,7 +415,7 @@ func (c *restoreController) fetchBackupInfo(backupName string, pluginManager cli
|
||||
func (c *restoreController) runValidatedRestore(restore *api.Restore, info backupInfo) error {
|
||||
// instantiate the per-restore logger that will output both to a temp file
|
||||
// (for upload to object storage) and to stdout.
|
||||
restoreLog, err := newRestoreLogger(restore, c.logger, c.restoreLogLevel)
|
||||
restoreLog, err := newRestoreLogger(restore, c.logger, c.restoreLogLevel, c.logFormat)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -555,14 +558,14 @@ type restoreLogger struct {
|
||||
w *gzip.Writer
|
||||
}
|
||||
|
||||
func newRestoreLogger(restore *api.Restore, baseLogger logrus.FieldLogger, logLevel logrus.Level) (*restoreLogger, error) {
|
||||
func newRestoreLogger(restore *api.Restore, baseLogger logrus.FieldLogger, logLevel logrus.Level, logFormat logging.Format) (*restoreLogger, error) {
|
||||
file, err := ioutil.TempFile("", "")
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "error creating temp file")
|
||||
}
|
||||
w := gzip.NewWriter(file)
|
||||
|
||||
logger := logging.DefaultLogger(logLevel)
|
||||
logger := logging.DefaultLogger(logLevel, logFormat)
|
||||
logger.Out = io.MultiWriter(os.Stdout, w)
|
||||
|
||||
return &restoreLogger{
|
||||
|
||||
Reference in New Issue
Block a user