1
+ """
2
+ Log wrapper
3
+ """
4
+ # Copyright (c) - UOL Inc,
5
+ # Todos os direitos reservados
6
+ #
7
+ # Este arquivo e uma propriedade confidencial do Universo Online Inc.
8
+ # Nenhuma parte do mesmo pode ser copiada, reproduzida, impressa ou
9
+ # transmitida por qualquer meio sem autorizacao expressa e por escrito
10
+ # de um representante legal do Universo Online Inc.
11
+ #
12
+ # All rights reserved
13
+ #
14
+ # This file is a confidential property of Universo Online Inc.
15
+ # No part of this file may be reproduced or copied in any form or by
16
+ # any means without written permisson from an authorized person from
17
+ # Universo Online Inc.
18
+ #
19
+ # Autor: Ivan Ribeiro Rocha
20
+ # Baseado em https://github.com/irr/python-labs/tree/master/tornado
21
+
22
+ import os , logging , thread
23
+ from logging .handlers import SysLogHandler
24
+
25
+ class Logger ():
26
+ def __init__ (self , level , syslog = False ):
27
+ levels = {'critical' : logging .CRITICAL ,
28
+ 'error' : logging .ERROR ,
29
+ 'warning' : logging .WARNING ,
30
+ 'info' : logging .INFO ,
31
+ 'debug' : logging .DEBUG }
32
+ self .logger = logging .getLogger ()
33
+ self .logger .setLevel (levels .get (level ))
34
+ if syslog :
35
+ for handler in self .logger .handlers :
36
+ if isinstance (handler , logging .StreamHandler ):
37
+ self .logger .removeHandler (handler )
38
+ self .logger .addHandler (SysLogHandler (address = '/dev/log' ))
39
+ self .id = hex (thread .get_ident ())
40
+
41
+ def fmt (self , msg ):
42
+ return "[%s] %s (%d)" % (self .id , msg , os .getpid ())
43
+
44
+ def debug (self , msg ):
45
+ self .logger .debug (self .fmt (msg ))
46
+
47
+ def info (self , msg ):
48
+ self .logger .info (self .fmt (msg ))
49
+
50
+ def warning (self , msg ):
51
+ self .logger .warning (self .fmt (msg ))
52
+
53
+ def error (self , msg ):
54
+ self .logger .error (self .fmt (msg ))
0 commit comments