Use alternate log handler if running in container
Currently the log is written to syslog, which in turn uses a socket /dev/log from the platform, but when running in a container such as in the stx-openstack application this log handler is not available. This commit uses an environment variable to be set on the fm-rest-api deployment definition to determine if it must the syslog handler, which is the case when running on the platform, or write the log to standard output, which is the case when running inside a container. Closes-Bug: 1951579 Signed-off-by: Heitor Matsui <HeitorVieira.Matsui@windriver.com> Change-Id: I3f2fe2953fb26ad1759f3bc10a358cb9d093192f
This commit is contained in:
parent
3a59a4111e
commit
f79b9a9748
@ -11,6 +11,8 @@ Logging
|
||||
|
||||
import logging
|
||||
import logging.handlers
|
||||
import os
|
||||
import sys
|
||||
|
||||
_loggers = {}
|
||||
|
||||
@ -34,8 +36,12 @@ def setup_logger(logger):
|
||||
"%(pathname)s:%(lineno)s " +
|
||||
"%(levelname)8s [%(name)s] %(message)s")
|
||||
|
||||
handler = logging.handlers.SysLogHandler(address='/dev/log',
|
||||
facility=syslog_facility)
|
||||
running_in_container = os.getenv("RUNNING_IN_CONTAINER", "False").strip().lower()
|
||||
if running_in_container == "true":
|
||||
handler = logging.StreamHandler(stream=sys.stdout)
|
||||
else:
|
||||
handler = logging.handlers.SysLogHandler(address='/dev/log',
|
||||
facility=syslog_facility)
|
||||
handler.setLevel(logging.INFO)
|
||||
handler.setFormatter(formatter)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user