From 2fdacf23344ff1697aa12a4f148cbb0c9dc24363 Mon Sep 17 00:00:00 2001 From: Julien Castiaux Date: Thu, 9 Feb 2023 07:43:04 +0000 Subject: [PATCH] [FIX] core: remove custom open in logging facility Remove custom open introduced by bpo-26789 as we do not need it. closes odoo/odoo#112453 X-original-commit: 8eaac9744b93e7132827edb2a59c28bb43732ec1 Related: odoo/enterprise#36978 Signed-off-by: Julien Castiaux (juc) Co-authored-by: Martin Trigaux --- odoo/netsvc.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/odoo/netsvc.py b/odoo/netsvc.py index 6de6e65ffbd..50c6d8bb124 100644 --- a/odoo/netsvc.py +++ b/odoo/netsvc.py @@ -25,6 +25,16 @@ def log(logger, level, prefix, msg, depth=None): logger.log(level, indent+line) indent=indent_after + +class WatchedFileHandler(logging.handlers.WatchedFileHandler): + def __init__(self, filename): + super().__init__(filename) + # Unfix bpo-26789, in case the fix is present + self._builtin_open = None + + def _open(self): + return open(self.baseFilename, self.mode, encoding=self.encoding, errors=self.errors) + class PostgreSQLHandler(logging.Handler): """ PostgreSQL Logging Handler will store logs in the database, by default the current database, can be set using --log-db=DBNAME @@ -175,7 +185,7 @@ def init_logger(): if dirname and not os.path.isdir(dirname): os.makedirs(dirname) if os.name == 'posix': - handler = logging.handlers.WatchedFileHandler(logf) + handler = WatchedFileHandler(logf) else: handler = logging.FileHandler(logf) except Exception: