neurokernel.tools.logging.setup_logger

neurokernel.tools.logging.setup_logger(name='', level=<Mock name='mock.levels.DEBUG' id='140407881951504'>, fmt=<Mock name='mock.formats.line_format' id='140407881951760'>, fmt_name=<built-in method format of str object>, screen=None, file_name=None, mpi_comm=None, zmq_addr=None, log_exceptions=True, multiline=False)[source]

Setup a twiggy logger.

Parameters:
  • name (str) – Logger name.
  • level (twiggy.levels.LogLevel) – Logging level.
  • fmt (twiggy.formats.LineFormat) – Logging formatter class instance.
  • fmt_name (function) – Function with one parameter that formats the message name.
  • screen (bool) – Create output stream handler to the screen if True.
  • file_name (str) – Create output handler to specified file.
  • mpi_comm (mpi4py.MPI.Intracomm) – If not None, use MPI I/O with the specified communicator for output file handler. Ignored if the file_name parameter is not specified.
  • zmq_addr (str) – ZeroMQ socket address.
  • log_exceptions (bool) – If True, exception messages are written to the logger.
  • multiline (bool) – If True, log exception messages on multiple lines.
Returns:

  • logger (twiggy.logger.Logger) – Configured logger.
  • Bug
  • To use the ZeroMQ output class with multiprocessing, it must be added
  • as an emitter within each process.