diff --git a/st2actions/conf/logging.conf b/st2actions/conf/logging.conf index 949b1fffa8..62ccd6486f 100644 --- a/st2actions/conf/logging.conf +++ b/st2actions/conf/logging.conf @@ -21,13 +21,13 @@ args=(sys.stdout,) class=st2common.log.FormatNamedFileHandler level=INFO formatter=verboseConsoleFormatter -args=('logs/st2actionrunner.{pid}.log',) +args=('logs/st2actionrunner.{pack}.log',) [handler_auditHandler] class=st2common.log.FormatNamedFileHandler level=AUDIT formatter=jsonFormatter -args=('logs/st2actionrunner.{pid}.audit.log',) +args=('logs/st2actionrunner.{pack}.audit.log',) [formatter_simpleConsoleFormatter] class=st2common.logging.formatters.ConsoleLogFormatter @@ -36,7 +36,7 @@ datefmt= [formatter_verboseConsoleFormatter] class=st2common.logging.formatters.ConsoleLogFormatter -format=%(asctime)s %(thread)s %(levelname)s %(module)s [-] %(message)s +format=%(asctime)s %(process)d %(thread)s %(levelname)s %(module)s [-] %(message)s datefmt= [formatter_gelfFormatter] @@ -45,4 +45,4 @@ format=%(message)s [formatter_jsonFormatter] class=pythonjsonlogger.jsonlogger.JsonFormatter -format=%(asctime) %(thread) %(levelname) %(module) %(message) +format=%(asctime) %(process)d %(thread) %(levelname) %(module) %(message) diff --git a/st2actions/st2actions/runners/pythonrunner.py b/st2actions/st2actions/runners/pythonrunner.py index 4e8ab40e0a..e42d294b5e 100644 --- a/st2actions/st2actions/runners/pythonrunner.py +++ b/st2actions/st2actions/runners/pythonrunner.py @@ -18,6 +18,7 @@ import abc import json import uuid +import logging.config import six from eventlet.green import subprocess @@ -77,6 +78,21 @@ def __init__(self, config=None): def run(self, **kwargs): pass + def _set_up_logger(self): + """ + Set up a logger which logs all the messages with level INFO + and above to stderr. + """ + if '/opt/' in BASE_DIR: + from st2actions import config as action_config + config_path = action_config.get_logging_config_path() + else: + config_path = os.path.join(BASE_DIR, '../../conf/logging.conf') + logging.config.fileConfig(config_path, disable_existing_loggers=False) + logger_name = 'actions.python.%s' % (self.__class__.__name__) + logger = logging.getLogger(logger_name) + return logger + class PythonRunner(ActionRunner): diff --git a/st2common/st2common/logging/handlers.py b/st2common/st2common/logging/handlers.py index ca8beb5521..70f8e71feb 100644 --- a/st2common/st2common/logging/handlers.py +++ b/st2common/st2common/logging/handlers.py @@ -17,6 +17,7 @@ import socket import time import logging +import sys from oslo_config import cfg @@ -37,7 +38,8 @@ def __init__(self, filename, mode='a', maxBytes=0, backupCount=0, encoding=None, format_values = { 'timestamp': timestamp, 'ts': isotime_str, - 'pid': pid + 'pid': pid, + 'pack': os.path.abspath(os.path.dirname(sys.argv[2])).split('/')[-2] } filename = filename.format(**format_values) super(FormatNamedFileHandler, self).__init__(filename, mode=mode, maxBytes=maxBytes,