[Kimchi-devel] [PATCH] [Wok] Bug fix: Use WatchedFileHandler instead of RotatingFileHandler for user log files

Lucio Correia luciojhc at linux.vnet.ibm.com
Tue May 24 20:41:20 UTC 2016


Reviewed-By: Lucio Correia <luciojhc at linux.vnet.ibm.com>

On 24-05-2016 12:30, Aline Manera wrote:
> The log files under /var/log/wok are managed by logrotate (check
> contrib/wokd.logrotate.in for more details). So use WatchedFileHandler instead
> of RotatingFileHandler to avoid issues while accessing the log file.
>
> Signed-off-by: Aline Manera <alinefm at linux.vnet.ibm.com>
> ---
>   src/wok/reqlogger.py | 10 +++-------
>   1 file changed, 3 insertions(+), 7 deletions(-)
>
> diff --git a/src/wok/reqlogger.py b/src/wok/reqlogger.py
> index 1145dbd..272a753 100644
> --- a/src/wok/reqlogger.py
> +++ b/src/wok/reqlogger.py
> @@ -18,6 +18,7 @@
>   # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
>   #
>
> +import glob
>   import json
>   import logging
>   import logging.handlers
> @@ -40,8 +41,6 @@ LOG_FORMAT = "[%(date)s %(time)s] %(req)-6s %(app)-11s %(user)s: %(message)s\n"
>   SECONDS_PER_HOUR = 360
>
>   # Log handler setup
> -MAX_FILE_SIZE = 3072000
> -NUM_BACKUP_FILES = 1
>   REQUEST_LOG_FILE = "wok-req.log"
>   WOK_REQUEST_LOGGER = "wok_request_logger"
>
> @@ -49,9 +48,7 @@ WOK_REQUEST_LOGGER = "wok_request_logger"
>   class RequestLogger(object):
>       def __init__(self):
>           log = os.path.join(config.get("logging", "log_dir"), REQUEST_LOG_FILE)
> -        h = logging.handlers.RotatingFileHandler(log, 'a',
> -                                                 maxBytes=MAX_FILE_SIZE,
> -                                                 backupCount=NUM_BACKUP_FILES)
> +        h = logging.handlers.WatchedFileHandler(log, 'a')
>           h.setFormatter(logging.Formatter('%(message)s'))
>           self.handler = h
>           self.logger = logging.getLogger(WOK_REQUEST_LOGGER)
> @@ -101,8 +98,7 @@ class RequestParser(object):
>       def getRecords(self):
>           records = self.getRecordsFromFile(self.baseFile)
>
> -        for count in range(NUM_BACKUP_FILES):
> -            filename = ".".join([self.baseFile, str(count + 1)])
> +        for filename in glob.glob(self.baseFile + "-*[!.gz]"):
>               records.extend(self.getRecordsFromFile(filename))
>
>           # Return ordered by latest events first
>


-- 
Lucio Correia
Software Engineer
IBM LTC Brazil




More information about the Kimchi-devel mailing list