Exemplo n.º 1
0
 def writeLog(self, collectedLog):
     if self._out is None:
         return
     if self._rejectLog(collectedLog):
         return
     httpRequest = getScoped(collectedLog, scopeNames=(), key='httpRequest')
     httpResponse = getScoped(collectedLog, scopeNames=(), key='httpResponse')
     if not 'Client' in httpRequest:
         return
     headers = getFirst(httpRequest, 'Headers', {})
     template = APACHE_LOGLINE
     exception = getFirst(httpResponse, 'exception')
     if exception:
         template = ERROR_LOGLINE
     self._out.write(template.format(
         ipaddress=getFirst(httpRequest, key='Client', default=('-', 0))[0],
         user='******',
         timestamp=strftime('%d/%b/%Y:%H:%M:%S +0000', gmtime(getFirst(httpRequest, 'timestamp'))),
         Method=getFirst(httpRequest, 'Method', '-'),
         pathAndQuery=stripToPathAndQuery(getFirst(httpRequest, 'RequestURI', '')),
         status=getFirst(httpResponse, 'httpStatus', '0'),
         responseSize=getFirst(httpResponse, 'size') or '-',
         Referer=headers.get('Referer', '-'),
         UserAgent=headers.get('User-Agent', '-'),
         HTTPVersion=getFirst(httpRequest, 'HTTPVersion', '1.0'),
         Exception=None if not exception else repr(exception)
     ))
     self._out.flush()
Exemplo n.º 2
0
 def writeLog(self, collectedLog):
     if self._out is None:
         return
     if self._rejectLog(collectedLog):
         return
     httpRequest = getScoped(collectedLog, scopeNames=(), key='httpRequest')
     httpResponse = getScoped(collectedLog,
                              scopeNames=(),
                              key='httpResponse')
     if not 'Client' in httpRequest:
         return
     headers = getFirst(httpRequest, 'Headers', {})
     template = APACHE_LOGLINE
     exception = getFirst(httpResponse, 'exception')
     if exception:
         template = ERROR_LOGLINE
     self._out.write(
         template.format(
             ipaddress=getFirst(httpRequest, key='Client',
                                default=('-', 0))[0],
             user='******',
             timestamp=strftime('%d/%b/%Y:%H:%M:%S +0000',
                                gmtime(getFirst(httpRequest, 'timestamp'))),
             Method=getFirst(httpRequest, 'Method', '-'),
             pathAndQuery=stripToPathAndQuery(
                 getFirst(httpRequest, 'RequestURI', '')),
             status=getFirst(httpResponse, 'httpStatus', '0'),
             responseSize=getFirst(httpResponse, 'size') or '-',
             Referer=headers.get('Referer', '-'),
             UserAgent=headers.get('User-Agent', '-'),
             HTTPVersion=getFirst(httpRequest, 'HTTPVersion', '1.0'),
             Exception=None if not exception else repr(exception)))
     self._out.flush()
    def writeLog(self, collectedLog):
        if not scopePresent(collectedLog, self._scopeNames):
            return
        httpRequest = getScoped(collectedLog, scopeNames=self._scopeNames, key='httpRequest')
        httpResponse = getScoped(collectedLog, scopeNames=self._scopeNames, key='httpResponse')
        if not 'Client' in httpRequest:
            return

        path = getFirst(httpRequest, 'path')
        self._log.log(
            timestamp=getFirst(httpRequest, 'timestamp') or time(),
            path=path,
            ipAddress=getFirst(httpRequest, 'Client')[0],
            size=getFirst(httpResponse, 'size', 0)/1024.0,
            duration=getFirst(httpResponse, 'duration'),
            numberOfRecords=self._numberOfRecords(collectedLog),
            queryArguments=self._queryArguments(collectedLog),
            status=getFirst(httpResponse, 'httpStatus', '0'),
        )
 def _queryArguments(self, collectedLog):
     args = collectedLog
     if self._argumentSelectionScope is not None:
         args = getScoped(collectedLog, scopeNames=self._scopeNames, key=self._argumentSelectionScope)
     if self._argumentSelectionKey is not None:
         args = getFirst(
             args,
             key=self._argumentSelectionKey,
             default={}
         )
     try:
         args = self.call.determineQueryArguments(collectedLog=collectedLog, scopeNames=self._scopeNames, currentArgs=args)
     except NoneOfTheObserversRespond:
         pass
     return sortedUrlEncode(args)
 def _numberOfRecords(self, collectedLog):
     return getFirst(getScoped(collectedLog, scopeNames=self._scopeNames, key=self._numberOfRecordsSelectionScope), self._numberOfRecordsSelectionKey)