Pre-configured file, web, and email logging for Mindscope neuropixels projects, repackaging code from AIBS mpeconfig.
Project description
np_logging
For use on internal Allen Institute network
Quick start
Follow the conventions for using the logging
module in the standard library:
- in a script or main module,
np_logging
adds console & file handlers and exit messages to the root logger:
import np_logging
logger = np_logging.getLogger()
- or, in a package or project with multiple modules, all logged messages are propagated to the root logger:
import np_logging
logger = np_logging.getLogger(__name__) # logger.level = logging.NOTSET = 0
- then log messages as usual:
logger.info('test message')
logger.warning('test message')
No further setup is required, and importing logging
from the standard library isn't necessary.
To send a message to the Mindscope log-server, use np_logging.web()
and supply a project name, which will
appear in the
channel
field on the server:
project_name = 'spike_sorting'
np_logging.web(project_name).info('test message')
- the web log can be viewed at http://eng-mindscope:8080
For customization, use np_logging.setup()
to supply a logging config dict than specifies
loggers and their handlers/formatters, and extra functions such as exit messages & exit
emails will be added.
-
logging configs should be specified according to the python logging library dict schema
-
logging configs on the
eng-mindscope
ZooKeeper server can also be used directly to setup logging by supplying their path tonp_logging.setup()
:
np_logging.setup(
'/projects/np_workflows/defaults/logging'
)
See np_config for further info on using ZooKeeper for configs.
Other input arguments to np_logging.setup()
:
-
project_name
(default: current working directory name)- sets the
channel
displayed on the log server
- sets the
-
email_address
(default:None
)- if one or more addresses are supplied, an email is sent at program exit reporting the elapsed time and cause of termination. If an exception was raised, the traceback is included.
-
log_at_exit
(default:True
)- If
True
, a message is logged when the program terminates, reporting total elapsed time.
- If
-
email_at_exit
(default:False
, orTrue
ifemail_address
is notNone
)-
If
True
, an email is sent when the program terminates. -
If
logging.ERROR
, the email is only sent if the program terminates via an exception.
-
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for np_logging-0.3.10-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ef0ad78a8ebd1d91c8d8092b2a6af07a1d590012799170e964e550cbccd601d |
|
MD5 | ffd6994994f88bfb58efc1cd3ba6a8e5 |
|
BLAKE2b-256 | ff504c4b04fc8812a59205a191fda27d70f4578dd61224b2641832ee6aa82942 |