Pre-configured file, web, and email logging for Mindscope neuropixels projects, repackaging code from AIBS mpeconfig.
Project description
For use on internal Allen Institute network
import logging
import np_logging
np_logging.setup()
runs automatically on import to add handlers and loggers from a default config,
then the logging
module can be used as normal.
-
user configs can be specified according to the python logging library dict schema
-
the default config is fetched from the ZooKeeper server
eng-mindscope:2181
-
configs can be added via ZooNavigator webview: http://eng-mindscope:8081
-
or more conveniently, via an extension for VSCode such as gaoliang.visual-zookeeper
ZooKeeper configs can be fetched via their path:
test_config: dict = np_logging.fetch_zk_config(
'/projects/np_logging_test/defaults/logging'
)
Once a logging config dict has been modified as necessary...
test_config['handlers']['email_handler']['toaddrs'] = username@alleninstitute.org
re-run the logging setup with the new config dict:
np_logging.setup(
config: dict = test_config,
project_name = 'test',
)
project_name
should be supplied to use the web logger - if unspecified, the name of the current working directory is used- the web log can be viewed at http://eng-mindscope:8080
The default config provides the loggers web
and email
, in addition to the default
root
which includes file handlers
for info and debug logging levels, plus console logging:
logging.getLogger('web').info('test message')
logging.getLogger('email').info('test message')
logging.debug('test message to files and console')
Other input arguments to np_logging.setup()
:
-
log_at_exit
(defaultTrue
)- If
True
, a message is logged when the program terminates, reporting total elapsed time.
- If
-
email_at_exit
(defaultFalse
)-
If
True
, an email is sent when the program terminates, reporting the elapsed time and cause of termination. If an exception was raised, the traceback is included. -
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.1.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff5852b984a5e3d5a9e07b051714076340683e7be132549cbdf459cfb2fde570 |
|
MD5 | d28ddb933345478d3d817af7d308074b |
|
BLAKE2b-256 | 9d9c5661b57a06409eb589c1ac62cf008f4e26916b3df0525bae75b3a5ddb12b |