about #3. I would prefer if this were written as a gluon.contrib.logging module that users can import if needed.
On Jul 23, 2:02 pm, Iceberg <iceb...@21cn.com> wrote: > Well done Yarin! Some comments. > > 1. Change those time_expire=99999999 into time_expire=None please. The clumsy > 99999999 trick was my early "invention" before I know the time_expire=None > approach. > > 2. My another later improvement is to write the log file at {web2py > path}/applications/{your app}/static/app.log > so that developer can easily access the log file > byhttp://your_host/your_app/static/app.log > Well, you can refer to the attachment for my latest implementation. Some more > trick inside. > > 3. @Massimo, I suggested to include the applog.py into > welcome/model/applog.py since day1 I invented this little component. Only > this way people will have an official place to always have the latest code, > rather than dig some not-the-latest post from different places. So please do > consider it this time. > > 4. @Yarin, when last time I said "putting the web2py db instance, rather than > a filename, to initialize your SQLiteHandler() class", I mean something like: > def _init_sqlite_log(level=logging.DEBUG): > handler = SQLiteHandler( db ) # db is defined by: db = > DAL('sqlite://storage.sqlite') > # or > handler = SQLiteHandler( DAL('sqlite://log.sqlite') ) > There is some more implementation to do, but you get the idea. > > 5. With respect to GAE, this was my "concept vehicle": > > if request.env.web2py_runtime_gae: # if running on Google App Engine > > handler=logging.handlers.HTTPHandler(request.env.http_host,URL(r=request,f='log')) > # assuming there is an optional log action > > but I never test it. I think a practical solution would be implement some log > handler which wraps GAE's own log facility. > > Best regards, > Iceberg, 2010-Jul-24, 02:35(AM), Sat > > ----------------------- Original Message ----------------------- > From: Yarin Kessler <ykess...@gmail.com> > To: Massimo Di Pierro <mdipie...@cs.depaul.edu> > > Cc: web2py-users <web2py@googlegroups.com>, Iceberg <iceb...@21cn.com>, > Hans <johann.scheibelho...@easytouch-edv.com>, Richard <richar...@gmail.com>, > MikeEllis <michael.f.el...@gmail.com>, cjparsons <cjparso...@yahoo.co.uk> > Date: Fri, 23 Jul 2010 09:56:17 -0400 > Subject: Re: SQLite Logging > ------------------- > > > Glad you like- I'd love to see this as part of the core. Let me know if > > there's anything else I can do. > > > >I am not so keen to include the sqlite part because it is too specific > > > Is this because it requires the extra module? I kept it separate because > > it's a Python, not web2py, specific class, but we could easily bake it into > > log.py. > > Personally I'm a big fan of SQLite for logging- what would it take to make > > it less specific and ready for inclusion? > > > >we would need a way to deal with GAE/ > > > Hans/Iceberg had a GAE solution in their orig file, but I haven't tested it: > > > if request.env.web2py_runtime_gae: # if running on Google App Engine > > > handler=logging.handlers.HTTPHandler(request.env.http_host,URL(r=request,f='log')) > > # assuming there is an optional log action > > else: > > > handler=logging.handlers.RotatingFileHandler(os.path.join(request.folder,filename),maxBytes=maxBytes,backupCount=backupCount) > > > I'll re-introduce it into the code though. > > > On Fri, Jul 23, 2010 at 9:38 AM, Massimo Di Pierro > > <mdipie...@cs.depaul.edu>wrote: > > > > Very good work. We should think about a way to include this in web2py > > > core. > > > > I am not so keen to include the sqlite part because it is too specific > > > but: > > > > I see the log.py file could go in contrib with minimal changes (it it were > > > implemented as a function that takes the request and cache objects) > > > > we would need a way to deal with GAE/ > > > > On Jul 23, 2010, at 8:24 AM, Yarin wrote: > > > > Added a slice: Application Logging > > >>http://web2pyslices.com/main/slices/take_slice/91 > > > >> It covers logging to both a file and SQLite. The code is well > > >> documented- use this instead of the previous code. Would love to get > > >> your comments. > > > >> @Iceberg, btw apparently the SQLite cross-thread issues weren't solved > > >> by using the default DB after all. I added a thread-safe work around, > > >> but suggestions are welcome. > > > > applog.py > 1KViewDownload