@Iceberg- Thanks for all the input- I'll review your latest and update the
code later this weekend.  With respect to log file location though, don't
think it makes sense to put it in static since it's a file that will be
written to (i.e. non static).  It may need its own location, a var/ or
log/...  Massimo, thoughts on this?

On Fri, Jul 23, 2010 at 3: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 by
> http://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.
>
>

Reply via email to