This recipe creates the program daemon (logger) which is listening to the socket. It generates logs in an appropriate format (JSON, CSV, PICKLE).
The simplest way to use this recipe is to add it to your buildout.cfg
like this:
[buildout]
parts = logger
[logger]
recipe = collective.recipe.logger
Go to collective/recipe/logger/README.rst
to see more details.
- Code repository: https://github.com/potar/collective.recipe.logger
- The code comes with a
buildout.cfg
. Please bootstrap the buildout and run the createdbin/test
to see if the tests still pass. Please add tests if you add code. - Questions and comments send to the Plone product-developers list or to potar: poburynnyitaras@gmail.com
The recipe supports the following options (none of which are needed by default):
- ip
It's a host ip. Default value: localhost
- port
It's an application (daemon) port. Default value: 8090 (DEFAULT_TCP_LOGGING_PORT)
- maxlen
It's a circular buffer size. Default value: 100. It means that you can store 100 records into storage.
- mode
It's file mode bits which is intended to the file storage. Default value: 0644
- format
It's a storage type. Options: 'csv', 'json', 'pickle'. Default value: 'json'
- eggs
It sets up additional products. They help serialize objects. For example, your object will not be a standard python collection so you need an appropriate class for this object. If you use Plone I recommend you set up
eggs = ${instance:eggs}
- A storage filename is generated by id_generator (
src/collective/recipe/logger/utils.py
).