1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-20 10:50:08 +03:00

M #-: add JSON and XML output to provision log (#640)

This commit is contained in:
Alejandro Huertas Herrero 2021-01-14 15:27:36 +01:00 committed by GitHub
parent 06c4179868
commit 4d752c5d06
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 18 additions and 4 deletions

View File

@ -246,7 +246,7 @@ class OneProvisionHelper < OpenNebulaHelper::OneHelper
WAIT_READY,
WAIT_TIMEOUT,
PROVIDER,
USER_INPUTS]
USER_INPUTS] + [OpenNebulaHelper::FORMAT]
ONE_OPTIONS = CommandParser::OPTIONS +
CLIHelper::OPTIONS +

View File

@ -189,7 +189,8 @@ CommandParser::CmdParser.new(ARGV) do
provision_configure_desc,
:provisionid,
:options => [OneProvisionHelper::MODES,
OneProvisionHelper::FORCE] do
OneProvisionHelper::FORCE] +
[OpenNebulaHelper::FORMAT] do
helper.parse_options(options)
rc = helper.configure(args[0], options.key?(:force))
@ -214,7 +215,8 @@ CommandParser::CmdParser.new(ARGV) do
:options => [OneProvisionHelper::MODES,
OneProvisionHelper::THREADS,
OneProvisionHelper::CLEANUP,
OneProvisionHelper::CLEANUP_TIMEOUT] do
OneProvisionHelper::CLEANUP_TIMEOUT] +
[OpenNebulaHelper::FORMAT] do
helper.parse_options(options)
if options[:cleanup_timeout].nil?

View File

@ -22,6 +22,7 @@ require 'provision/provision_pool'
require 'provision/resources'
require 'provision/utils'
require 'base64'
require 'logger'
require 'singleton'
@ -46,7 +47,18 @@ module OneProvision
format = '%Y-%m-%d %H:%M:%S'
instance.logger.formatter = proc do |severity, datetime, _p, msg|
"#{datetime.strftime(format)} #{severity.ljust(5)} : #{msg}\n"
if options[:json]
"{ \"timestamp\": \"#{datetime}\", " \
" \"severity\": \"#{severity}\", " \
" \"message\": \"#{Base64.strict_encode64(msg)}\"}\n"
elsif options[:xml]
"<TIMESTAMP>#{datetime}</TIMESTAMP>" \
"<SEVERITY>#{severity}</SEVERITY>" \
"<MESSAGE>#{Base64.strict_encode64(msg)}</MESSAGE>\n"
else
"#{datetime.strftime(format)} #{severity.ljust(5)} " \
": #{msg}\n"
end
end
if options.key? :debug