Merge pull request 'feature/ISEPOS-2280-mechanizm-raportowania-informacji-z-aplikacji-do-pliku-z-logami' (#2) from feature/ISEPOS-2280-mechanizm-raportowania-informacji-z-aplikacji-do-pliku-z-logami into main

Reviewed-on: ymlesni/shared-snippets#2
This commit is contained in:
ymlesni 2024-10-15 12:01:43 +02:00
commit d0bffa2aad
3 changed files with 23 additions and 12 deletions

View File

@ -63,7 +63,11 @@ classdef base_logger < handle
methods(Access=private) methods(Access=private)
function this = base_logger() function this = base_logger()
this.fid = fopen(getenv("APP_LOG_FILE"), 'a'); logFileName = getenv("APP_LOG_FILE");
if isempty(logFileName)
logFileName = 'fallbackPathApplication.log';
end
this.fid = fopen(logFileName, 'a');
if this.fid == -1 if this.fid == -1
error('Failed to open log file'); error('Failed to open log file');
end end

View File

@ -63,7 +63,11 @@ classdef base_logger < handle
methods methods
function this = base_logger() function this = base_logger()
this.fid = fopen(getenv("APP_LOG_FILE"), 'a'); logFileName = getenv("APP_LOG_FILE");
if isempty(logFileName)
logFileName = 'fallbackPathApplication.log';
end
this.fid = fopen(logFileName, 'a');
if this.fid == -1 if this.fid == -1
error('Failed to open log file'); error('Failed to open log file');
end end

View File

@ -11,8 +11,10 @@ def getDefaultLogger(name):
Retrieves or creates a logger with the specified name and sets it up with a file handler. Retrieves or creates a logger with the specified name and sets it up with a file handler.
The logger is configured to write log messages to the file path specified by the The logger is configured to write log messages to the file path specified by the
'DEFAULT_LOG_PATH' environment variable. It uses the 'INFO' level as the default 'APP_LOG_FILE' environment variable. If the environment variable is not set,
logging level and writes log entries in the following format: the logger will write to the file 'fallbackPathApplication.log' in the current
working directory. The logger uses the 'INFO' level as the default logging level
and writes log entries in the following format:
'YYYY-MM-DD HH:MM:SS,ms LEVEL logger_name message' 'YYYY-MM-DD HH:MM:SS,ms LEVEL logger_name message'
@ -30,13 +32,9 @@ def getDefaultLogger(name):
-------- --------
logger : logging.Logger logger : logging.Logger
A logger instance with the specified name. The logger is configured with a A logger instance with the specified name. The logger is configured with a
file handler that writes to the file specified by the 'DEFAULT_LOG_PATH' file handler that writes to the file specified by the 'APP_LOG_FILE'
environment variable. environment variable, or to 'fallbackPathApplication.log' if the environment
variable is not set.
Raises:
-------
KeyError:
If the 'DEFAULT_LOG_PATH' environment variable is not set.
Example: Example:
-------- --------
@ -47,10 +45,15 @@ def getDefaultLogger(name):
except Exception: except Exception:
logger.exception('An error occurred') logger.exception('An error occurred')
Notes:
------
- The 'APP_LOG_FILE' environment variable should specify the full path to the log file.
- If 'APP_LOG_FILE' is not set, logs will be written to 'fallbackPathApplication.log'.
""" """
logger = logging.getLogger(name) logger = logging.getLogger(name)
if not logger.hasHandlers(): if not logger.hasHandlers():
file_handler = logging.FileHandler(os.environ['APP_LOG_FILE'], mode='a') file_handler = logging.FileHandler(os.environ.get('APP_LOG_FILE', 'fallbackPathApplication.log'), mode='a')
formatter = logging.Formatter('%(asctime)s,%(msecs)d %(levelname)s %(name)s %(message)s') formatter = logging.Formatter('%(asctime)s,%(msecs)d %(levelname)s %(name)s %(message)s')
file_handler.setFormatter(formatter) file_handler.setFormatter(formatter)
logger.addHandler(file_handler) logger.addHandler(file_handler)