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

F #1149: make log output configurable

(cherry picked from commit 8b37678ad287dede28723220f9193bf74a684cbe)
This commit is contained in:
Alejandro Huertas 2022-05-09 13:17:44 +02:00 committed by Tino Vazquez
parent 0c179e0ff4
commit 93d6ec2939
No known key found for this signature in database
GPG Key ID: 14201E424D02047E
4 changed files with 63 additions and 17 deletions

View File

@ -53,6 +53,15 @@ class Log
@@logger = logger
end
# Sets the logger type
# @param type [String]
#
# - file: log into log files
# - syslog: log into syslog
def type=(type)
@@type = type
end
# Sets the log level
# @param [Integer] log_level (0:ERROR, 1:WARN, 2:INFO, 3:DEBUG)
def level=(log_level)
@ -135,23 +144,25 @@ class Log
end
begin
msg = format(MSG_FORMAT,
Time.now.strftime(DATE_FORMAT),
Logger::SEV_LABEL[severity][0..0],
component,
message)
file = "#{LOG_LOCATION}/oneflow/#{service_id}.log"
msg = format(
MSG_FORMAT,
Time.now.strftime(DATE_FORMAT),
Logger::SEV_LABEL[severity][0..0],
component,
message
)
File.open("#{LOG_LOCATION}/oneflow/#{service_id}.log",
'a') do |f|
f << msg
case @@type
when 'syslog'
@@logger.info(msg)
else
File.open(file, 'a') {|f| f << msg }
end
rescue Errno::ENOENT
FileUtils.mkdir("#{LOG_LOCATION}/oneflow/")
File.open("#{LOG_LOCATION}/oneflow/#{service_id}.log",
'a') do |f|
f << msg
end
File.open(file, 'a') {|f| f << msg }
rescue StandardError => e
message = 'Could not log into ' \
"#{LOG_LOCATION}/oneflow/#{service_id}.log: " \

View File

@ -70,6 +70,7 @@ require 'CloudServer'
require 'models'
require 'log'
require 'syslog/logger'
require 'LifeCycleManager'
require 'EventManager'
@ -87,7 +88,12 @@ rescue StandardError => e
exit 1
end
conf[:debug_level] ||= 2
if conf[:log]
conf[:debug_level] = conf[:log][:level] || 2
else
conf[:debug_level] ||= 2
end
conf[:autoscaler_interval] ||= 90
conf[:default_cooldown] ||= 300
conf[:shutdown_action] ||= 'terminate'
@ -107,7 +113,13 @@ set :config, conf
include CloudLogger
# rubocop:enable Style/MixinUsage
logger = enable_logging ONEFLOW_LOG, conf[:debug_level].to_i
if conf[:log] && conf[:log][:system] == 'syslog'
logger = Syslog::Logger.new('oneflow')
Log.type = 'syslog'
else
logger = enable_logging ONEFLOW_LOG, conf[:debug_level].to_i
Log.type = 'file'
end
use Rack::Session::Pool, :key => 'oneflow'

View File

@ -65,6 +65,7 @@ require 'sinatra'
require 'yaml'
require 'json'
require 'set'
require 'syslog/logger'
require 'CloudAuth'
require 'CloudServer'
@ -111,7 +112,18 @@ set :port, $conf[:port]
set :config, $conf
include CloudLogger
logger = enable_logging(ONEGATE_LOG, $conf[:debug_level].to_i)
if $conf[:log]
$conf[:debug_level] = $conf[:log][:level] || 2
else
$conf[:debug_level] ||= 2
end
if $conf[:log] && $conf[:log][:system] == 'syslog'
logger = Syslog::Logger.new('onegate')
else
logger = enable_logging(ONEGATE_LOG, $conf[:debug_level].to_i)
end
begin
ENV["ONE_CIPHER_AUTH"] = ONEGATE_AUTH

View File

@ -135,6 +135,7 @@ require 'base64'
require 'rexml/document'
require 'uri'
require 'open3'
require 'syslog/logger'
require "sunstone_qr_code"
require "sunstone_optp"
@ -171,7 +172,6 @@ if $conf[:one_xmlrpc_timeout]
ENV['ONE_XMLRPC_TIMEOUT'] = $conf[:one_xmlrpc_timeout].to_s unless ENV['ONE_XMLRPC_TIMEOUT']
end
$conf[:debug_level] ||= 3
$conf[:webauthn_avail] = webauthn_avail
# Set Sunstone Session Timeout
@ -246,7 +246,18 @@ use Rack::Deflater
# Enable logger
include CloudLogger
logger=enable_logging(SUNSTONE_LOG, $conf[:debug_level].to_i)
if $conf[:log]
$conf[:debug_level] = $conf[:log][:level] || 3
else
$conf[:debug_level] ||= 3
end
if $conf[:log] && $conf[:log][:system] == 'syslog'
logger = Syslog::Logger.new('onegate')
else
logger = enable_logging(SUNSTONE_LOG, $conf[:debug_level].to_i)
end
begin
ENV["ONE_CIPHER_AUTH"] = SUNSTONE_AUTH