Jeffrey Britton wrote:
I figured out what I was after.

logfn = os.path.join(os.environ['APPDATA'], directory, filename)
ensure_path(logfn)
logging.config.fileConfig("logging.conf", defaults={'logfn': logfn})

In the config file use:
[handler_fileHandler]
class=FileHandler
level=DEBUG
formatter=simpleFormatter
args=(r'%(logfn)s', 'w')



Hi,

An alternative is to subclass FileHandler with a handler customized for your app.

class AppFileHandler(FileHandler):
   def __init__(filename):
      if not os.path.isabs(filename):
filename = os.path.join(os.environ['APPDATA'], 'whateverdir', filename)
      FileHandler.__init__(self, filename, 'w')

[handler_appFileHandler]
class=AppFileHandler
level=DEBUG
formatter=simpleFormatter
args=('foo.log')


It removes the cryptic args=(r'%(logfn)s', 'w') which may puzzle users.


I didn't test the code, it could contain some errors, but you got the idea.

JM
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to