##// END OF EJS Templates
show only open pull requests in the counter, and use repo context bar in pull requests view
show only open pull requests in the counter, and use repo context bar in pull requests view

File last commit:

r1512:bf263968 merge default
r3580:7b9d4f6b beta
Show More
colored_formatter.py
85 lines | 2.2 KiB | text/x-python | PythonLexer
/ rhodecode / lib / colored_formatter.py
renamed project to rhodecode
r547
import logging
BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE = xrange(30, 38)
source code cleanup: remove trailing white space, normalize file endings
r1203 # Sequences
renamed project to rhodecode
r547 RESET_SEQ = "\033[0m"
Removed bolds from colored logs (better readability)
r1391 COLOR_SEQ = "\033[0;%dm"
renamed project to rhodecode
r547 BOLD_SEQ = "\033[1m"
COLORS = {
pep8ify
r1307 'CRITICAL': MAGENTA,
'ERROR': RED,
'WARNING': CYAN,
'INFO': GREEN,
'DEBUG': BLUE,
'SQL': YELLOW
renamed project to rhodecode
r547 }
pep8ify
r1307
timperproxy will just measure the time of queries, and formatting will be handled by the new sql_formatter of queries from sqlalchemy itself. Updated ini files for new way logging
r1186 def one_space_trim(s):
if s.find(" ") == -1:
return s
else:
s = s.replace(' ', ' ')
return one_space_trim(s)
pep8ify
r1307
timperproxy will just measure the time of queries, and formatting will be handled by the new sql_formatter of queries from sqlalchemy itself. Updated ini files for new way logging
r1186 def format_sql(sql):
sql = sql.replace('\n', '')
sql = one_space_trim(sql)
sql = sql\
.replace(',', ',\n\t')\
.replace('SELECT', '\n\tSELECT \n\t')\
.replace('UPDATE', '\n\tUPDATE \n\t')\
.replace('DELETE', '\n\tDELETE \n\t')\
.replace('FROM', '\n\tFROM')\
.replace('ORDER BY', '\n\tORDER BY')\
.replace('LIMIT', '\n\tLIMIT')\
.replace('WHERE', '\n\tWHERE')\
.replace('AND', '\n\tAND')\
.replace('LEFT', '\n\tLEFT')\
.replace('INNER', '\n\tINNER')\
.replace('INSERT', '\n\tINSERT')\
.replace('DELETE', '\n\tDELETE')
return sql
pep8ify
r1307
renamed project to rhodecode
r547 class ColorFormatter(logging.Formatter):
def __init__(self, *args, **kwargs):
# can't do super(...) here because Formatter is an old school class
logging.Formatter.__init__(self, *args, **kwargs)
def format(self, record):
"""
Changes record's levelname to use with COLORS enum
"""
timperproxy will just measure the time of queries, and formatting will be handled by the new sql_formatter of queries from sqlalchemy itself. Updated ini files for new way logging
r1186
renamed project to rhodecode
r547 levelname = record.levelname
start = COLOR_SEQ % (COLORS[levelname])
def_record = logging.Formatter.format(self, record)
end = RESET_SEQ
timperproxy will just measure the time of queries, and formatting will be handled by the new sql_formatter of queries from sqlalchemy itself. Updated ini files for new way logging
r1186
Bumped sqlalchemy version to 0.7, replaced timerproxy with new event system for sqlalchemy....
r1360 colored_record = ''.join([start, def_record, end])
renamed project to rhodecode
r547 return colored_record
timperproxy will just measure the time of queries, and formatting will be handled by the new sql_formatter of queries from sqlalchemy itself. Updated ini files for new way logging
r1186
class ColorFormatterSql(logging.Formatter):
def __init__(self, *args, **kwargs):
# can't do super(...) here because Formatter is an old school class
logging.Formatter.__init__(self, *args, **kwargs)
def format(self, record):
"""
Changes record's levelname to use with COLORS enum
"""
start = COLOR_SEQ % (COLORS['SQL'])
def_record = format_sql(logging.Formatter.format(self, record))
end = RESET_SEQ
Bumped sqlalchemy version to 0.7, replaced timerproxy with new event system for sqlalchemy....
r1360 colored_record = ''.join([start, def_record, end])
timperproxy will just measure the time of queries, and formatting will be handled by the new sql_formatter of queries from sqlalchemy itself. Updated ini files for new way logging
r1186 return colored_record