mirror of
https://github.com/ivan-usov-org/bec.git
synced 2025-04-19 17:30:02 +02:00
use tempfile in add_file_log and add_console_log
- when running from an account that cannot write in the expected folder it uses tempfile to create a temporary file instead
This commit is contained in:
parent
4af3e0e94d
commit
e169696473
@ -220,13 +220,23 @@ class BECLogger:
|
||||
"""
|
||||
if not self.service_name:
|
||||
return
|
||||
filename = os.path.join(self._base_path, f"{self.service_name}.log")
|
||||
self.logger.add(
|
||||
filename,
|
||||
level=level,
|
||||
format=self.formatting,
|
||||
filter=lambda record: record["level"].no != LogLevel.CONSOLE_LOG,
|
||||
)
|
||||
try:
|
||||
filename = os.path.join(self._base_path, f"{self.service_name}.log")
|
||||
self.logger.add(
|
||||
filename,
|
||||
level=level,
|
||||
format=self.formatting,
|
||||
filter=lambda record: record["level"].no != LogLevel.CONSOLE_LOG,
|
||||
)
|
||||
except PermissionError:
|
||||
import tempfile
|
||||
filename = tempfile.NamedTemporaryFile(prefix=self.service_name, delete=False, mode="a+")
|
||||
self.logger.add(
|
||||
filename,
|
||||
level=level,
|
||||
format=self.formatting,
|
||||
filter=lambda record: record["level"].no != LogLevel.CONSOLE_LOG,
|
||||
)
|
||||
|
||||
def add_console_log(self):
|
||||
"""
|
||||
@ -234,7 +244,6 @@ class BECLogger:
|
||||
"""
|
||||
if not self.service_name:
|
||||
return
|
||||
filename = os.path.join(self._base_path, f"{self.service_name}_CONSOLE.log")
|
||||
|
||||
# define a level corresponding to console log - this is to be able to filter messages
|
||||
# (only those with this particular level will be recorded by the console logger,
|
||||
@ -245,12 +254,24 @@ class BECLogger:
|
||||
# level with same severity already exists: already configured
|
||||
pass
|
||||
|
||||
self.logger.add(
|
||||
filename,
|
||||
level=LogLevel.CONSOLE_LOG,
|
||||
format=self.get_format(LogLevel.CONSOLE_LOG).rstrip(),
|
||||
filter=lambda record: record["level"].no == LogLevel.CONSOLE_LOG,
|
||||
)
|
||||
try:
|
||||
filename = os.path.join(self._base_path, f"{self.service_name}_CONSOLE.log")
|
||||
self.logger.add(
|
||||
filename,
|
||||
level=LogLevel.CONSOLE_LOG,
|
||||
format=self.get_format(LogLevel.CONSOLE_LOG).rstrip(),
|
||||
filter=lambda record: record["level"].no == LogLevel.CONSOLE_LOG,
|
||||
)
|
||||
except PermissionError:
|
||||
import tempfile
|
||||
filename = tempfile.NamedTemporaryFile(suffix=f"{self.service_name}_CONSOLE.log", delete=False, mode="a+")
|
||||
self.logger.add(
|
||||
filename,
|
||||
level=LogLevel.CONSOLE_LOG,
|
||||
format=self.get_format(LogLevel.CONSOLE_LOG).rstrip(),
|
||||
filter=lambda record: record["level"].no == LogLevel.CONSOLE_LOG,
|
||||
)
|
||||
|
||||
self._console_log = True
|
||||
|
||||
def add_redis_log(self, level: LogLevel):
|
||||
|
Loading…
x
Reference in New Issue
Block a user