The idea seems extremly unefficiant. Wouldn't it make more sense to build 
it from logs, on a seperate machine? 

On Tuesday, April 23, 2013 1:08:02 AM UTC+3, Richard wrote:
>
> Hello,
>
> I want to share this little snippet :
>
> # MODEL
>
> # Statistics of utilisation
> db.define_table('usage_statistics',
>     Field('time_stamp','datetime', default=request.now),
>     Field('client_ip','string', default=request.client),
>     Field('user_id', 'reference auth_user', default=auth.user and 
> auth.user.id),
>     Field('request_controller','string', default=request.controller),
>     Field('request_function','string', default=request.function),
>     Field('request_extension','string', default=request.extension),
>     Field('request_ajax','string', default=request.ajax),
>     Field('request_args','string', default=request.args),
>     Field('request_vars','string', default=request.vars),
>     Field('request_view','string', default=request.view),
>     Field('request_http_user_agent','string', 
> default=request.env.http_user_agent),
>     Field('request_language','string', 
> default=request.env.http_accept_language),
>     Field('description', 'text'),
>     migrate=False,
>     )
>
> # CONTROLLER
>
> def select():
>     """
>     Display log event into usage_statistics table.
>     """
>     db.usage_statistics.id.readable = False
>     table = SQLFORM.grid(db.usage_statistics, 
> orderby=~db.usage_statistics.time_stamp, ui='jquery-ui', formstyle = 
> 'divs',)
>     return dict(table=table)
>
> # VIEWS
>
> # Just put these two lines in ALL your views or only the views you want to 
> log and you can log what your users do!!
>
> {{db.usage_statistics.insert()}}
> {{db.commit()}}
>
> *Only thing I didn't figured out yet is what the best way to log delete 
> event... I thought about that :*
>
> # Not tested and pseudo code
> def myeventlogcall(form)
>     if form.delete:
>         db.usage_statistics.insert()
>         db.commit()
>
> def update_functions():
> ...
>      form.process(ondelete=myeventlogcall)
> ...
>
> But, it makes things complicated if case there is already ondelete in an 
> update_function...
>
> Any suggestion is welcome.
>
> Thanks
>
> Richard
>
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to