In your buildout you do :
[instance] recipe = zc.zope3recipes:instance application = app address = 8080 zope.conf = <product-config my-config-name> storagedir ${buildout:directory}/parts/log </product-config> If you need the log dir precreated you do : [extfiledir] recipe = lovely.recipe:mkdir path = parts/log To access the product config from python : from zope.app.appsetup.product import getProductConfiguration config = getProductConfiguration('my-config-name') if config is not None: path = config.get('logpath') Use your utility name as "my-config-name". Jürgen Darryl Cousins wrote:
Hi, 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: <meta:directive namespace="http://namespaces.zope.org/rdb" name="provideLogger" schema=".zcml.IProvideLoggerDirective" handler=".zcml.loggerhandler" /> Which I could use like <provideLogger component=".logger.MyLogger" log="/path/to/log/file" /> But there may be a better/easier way. Suggestions? Regards, Darryl
_______________________________________________ Zope3-users mailing list Zope3-users@zope.org http://mail.zope.org/mailman/listinfo/zope3-users