Skip to content

Commit

Permalink
Merge branch 'main' into feat/example_stl_mesh
Browse files Browse the repository at this point in the history
  • Loading branch information
agvarghe authored Jul 13, 2023
2 parents 27a03b8 + dd6d668 commit 1e577e5
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 6 deletions.
1 change: 1 addition & 0 deletions src/ansys/meshing/prime/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@
disable_optimizing_numpy_arrays,
numpy_array_optimization_enabled,
numpy_array_optimization_disabled,
enable_log_output,
)

import ansys.meshing.prime.examples as examples
Expand Down
16 changes: 16 additions & 0 deletions src/ansys/meshing/prime/internals/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,16 @@
'using_container',
'set_has_pim',
'has_pim',
'enable_log_output',
]

__DEFAULT_USE_BINARY = False
__USING_CONTAINER = False
__HAS_PIM = False
__FILE_CHECK = True

from ansys.meshing.prime.internals.logger import PrimeLogger


def _optimize_vectors():
"""Get the value of the flag for optimizing vectors."""
Expand Down Expand Up @@ -190,3 +193,16 @@ def set_file_existence_check(value: bool):
global __FILE_CHECK
__FILE_CHECK = value
return __FILE_CHECK


def enable_log_output(stream=None):
"""Enable logger output to given stream.
If stream is not specified, sys.stderr is used.
Parameters
----------
stream: TextIO, optional
Stream to output the log output to stream
"""
PrimeLogger().enable_output(stream)
23 changes: 17 additions & 6 deletions src/ansys/meshing/prime/internals/logger.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,9 @@ def __init__(self, logger_name: str = "PyPrimeMesh"):
"""Logger initializer."""
self._logger = logging.getLogger(logger_name)
self._logger.setLevel(logging.DEBUG)
self.formatter = logging.Formatter(
self._formatter = logging.Formatter(
'%(asctime)s \t [%(levelname)s | %(filename)s:%(lineno)s] > %(message)s'
)
# stdout
stream_handler = logging.StreamHandler()
stream_handler.setFormatter(self.formatter)
self._logger.addHandler(stream_handler)

def get_logger(self):
"""Get the logger.
Expand All @@ -51,6 +47,21 @@ def get_logger(self):
"""
return self._logger

def enable_output(self, stream=None):
"""Enable logger output to given stream.
If stream is not specified, sys.stderr is used.
Parameters
----------
stream: TextIO, optional
Stream to output the log output to stream
"""
# stdout
stream_handler = logging.StreamHandler(stream)
stream_handler.setFormatter(self._formatter)
self._logger.addHandler(stream_handler)

def add_file_handler(self, logs_dir: str = "./.log"):
"""Save logs to a file in addition to printing them to stdout.
Expand All @@ -63,7 +74,7 @@ def add_file_handler(self, logs_dir: str = "./.log"):
if not os.path.isdir(logs_dir):
os.mkdir(logs_dir)
file_handler = logging.FileHandler(logs_dir + "/log_" + now.strftime("%Y-%m-%d") + ".log")
file_handler.setFormatter(self.formatter)
file_handler.setFormatter(self._formatter)
self._logger.addHandler(file_handler)


Expand Down

0 comments on commit 1e577e5

Please sign in to comment.