Re: [Zope3-Users] Re: Configuring a package to use a file in buildout

2007-11-23 Thread Darryl Cousins
Hi Jürgen,

Thanks! I'll try that out.

Darryl

On Fri, 2007-11-23 at 11:00 +0100, Jürgen Kartnaller wrote:
 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

___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users


[Zope3-Users] Re: Configuring a package to use a file in buildout

2007-11-23 Thread Jürgen Kartnaller


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