Projet

Général

Profil

Télécharger (971 octets) Statistiques
| Branche: | Révision:

root / larpe / tags / release-1.1.1 / larpe / logger.py @ d03cb81c

1
import logging
2

    
3
from quixote import get_request, get_session
4

    
5
from qommon.logger import BotFilter
6

    
7
from hosts import Host
8

    
9
class Formatter(logging.Formatter):
10
    def format(self, record):
11
        request = get_request()
12

    
13
        record.address = request.get_environ('REMOTE_ADDR', '-')
14
        record.path = request.get_path()
15
        record.session_id = get_session().get_session_id() or '[nosession]'
16

    
17
        user = None
18
        host = Host.get_host_from_url()
19
        if not host:
20
            host = Host.select(lambda x: x.name == 'larpe')[0]
21
        if host:
22
            user = get_session().get_user(host.provider_id)
23
            if not user:
24
                user = get_session().get_user(host.saml2_provider_id)
25

    
26
        if user:
27
            user_id = user.id
28
        else:
29
            user_id = 'unlogged'
30
            if BotFilter.is_bot():
31
                user_id = 'bot'
32
        record.user_id = user_id
33

    
34
        return logging.Formatter.format(self, record)
(12-12/19)