In your buildout you do :

recipe = zc.zope3recipes:instance
application = app
address = 8080
zope.conf =

  <product-config my-config-name>
    storagedir ${buildout:directory}/parts/log

If you need the log dir precreated you do :

recipe = lovely.recipe:mkdir
path = parts/log

To access the product config from python :

from import getProductConfiguration

config = getProductConfiguration('my-config-name')
if config is not None:
    path = config.get('logpath')

Use your utility name as "my-config-name".


Darryl Cousins wrote:

I have a custom logger in a package registered with utility

<zope:utility  factory=".logger.MyLogger" name="logger" />

In the code it sets itself a logfile to write to, up to now that has
been in a 'log' directory in the package itself.

Now I want to use a log file which is in the buildout of the
application. How could I go about finding that directory from python
code in the package?

The only route that I have come up with so far is to write a
meta:directive which I can use to register the logging utility with a
file path. Something like:


Which I could use like

  <provideLogger component=".logger.MyLogger"
                 log="/path/to/log/file" />

But there may be a better/easier way. Suggestions?


Zope3-users mailing list

Reply via email to