[Zope-dev] WSGI access log user info howto?
Roger Ineichen
dev at projekt01.ch
Thu Apr 2 02:27:39 EDT 2009
Hi Alex
> Betreff: Re: WSGI access log user info howto?
>
> A branch containing this refactoring named
> 'achapman__username_logging now exists in the zope.app.wsgi
> directory. I'll be merging it today and tagging a release if
> it appears acceptable.
This looks good to me. Can you add a test for the new
logging part? Or let me know if I can do it for you.
Regards
Roger Ineichen
> - Alex Chapman
>
>
> On Tue, Mar 31, 2009 at 10:00 PM, Alex Chapman
> <achap5dk at gmail.com> wrote:
>
>
> This would work great for my own needs if its acceptable with
> everyone else.
>
> Thanks for the help on this. In the future I'll do work
> on a branch and
> request a review from all those on the owner list
> before merging,
> tagging, and releasing.
>
> -Alex Chapman
>
> On Wed, 2009-04-01 at 03:30 +0200, Roger Ineichen wrote:
> > Hi all
> >
> > Shane,
> > any idea about the following which whould also
> > affect the zope.pipeline or the zope.publisher refactoring?
> >
> > I need some advice for the access log topic in wsgi.
> >
> >
> > The zope http server logs access in zope.publisher.http
> > like:
> >
> > def setPrincipal(self, principal):
> > 'See IPublicationRequest'
> > super(HTTPRequest, self).setPrincipal(principal)
> > logging_info = ILoggingInfo(principal, None)
> > if logging_info is None:
> > message = '-'
> > else:
> > message = logging_info.getLogMessage()
> > self.response.authUser = message
> >
> > This means there is a ILoggingInfo adapter which returns
> > a simple string. ASCII and no space are preffered because
> > the standard access log format uses space aas delimiter.
> > And access lgo fiels are not unicode.
> >
> > Of corse the ILoggingInfo adapter is responsible for
> > choose the right format for each project. A default
> > is configured in zope.publisher.principallogging
> > PrincipalLogging
> >
> > Now to the question.
> >
> > In the latest checkins there was a access log part
> > implemented. It doesn't use the ILoggingInfo adapter and
> > is exposing the user login which is a part of the security
> > credential. This get already released. (not good)
> >
> > Is there a standard how WSGI apps will log user info in
> > access logs? I guess not, right?
> >
> > Does someone have a good idea how we should implement
> > user access info for access logs in zope.app.wasg?
> >
> > If not, I propose the following:
> >
> > logging_info = ILoggingInfo(request.principal, None)
> > if logging_info is None:
> > message = '-'
> > else:
> > message = logging_info.getLogMessage()
> > environ['wsgi.logging_info'] = message
> >
> >
> > - this will set a ``wsgi.logging_info`` environ
> > variable (or is there already a standard name)?
> >
> > - it uses the ILoggingInfo adapter which let us use
> > different kind of access log info strategies in
> > custom projects. By default we should use the
> > PrincipalLogging adapter form
> zope.publisher.principallogging.
> >
> > Does anybody have a better idea how we can make the user
> > info available for the access log?
> >
> > Alex whould this fit for you?
> >
> >
> > Regards
> > Roger Ineichen
> > _____________________________
> > END OF MESSAGE
> >
>
>
>
>
More information about the Zope-Dev
mailing list