3
3
import json
4
4
import time
5
5
import threading
6
+ from enum import IntEnum
6
7
import asyncio
7
8
import requests
8
9
import arrow
9
10
from .common import API_URL
10
11
11
- LEVEL_DEBUG = 0
12
- LEVEL_INFO = 1
13
- LEVEL_WARN = 2
14
- LEVEL_ERROR = 3
15
- LEVEL_FATAL = 4
16
- LEVEL_OFF = 5
17
-
18
- levels = {
19
- LEVEL_DEBUG : "DEBUG" ,
20
- LEVEL_INFO : "INFO" ,
21
- LEVEL_WARN : "WARN" ,
22
- LEVEL_ERROR : "ERROR" ,
23
- LEVEL_FATAL : "FATAL" ,
24
- }
25
-
26
12
class _Log ():
27
13
def __init__ (self , interceptor ):
28
14
self .path = '/log'
@@ -32,7 +18,7 @@ def __init__(self, interceptor):
32
18
self .app_id = ''
33
19
self .app_name = ''
34
20
self .tags = []
35
- self .level = LEVEL_INFO
21
+ self .level = Level . INFO
36
22
self .batch_size = 60
37
23
self .dispatch_interval = 60
38
24
@@ -52,19 +38,19 @@ async def _dispatch(self):
52
38
self .entries .clear ()
53
39
54
40
def debug (self , format , * argv ):
55
- self ._log (LEVEL_DEBUG , format , * argv )
41
+ self ._log (Level . DEBUG , format , * argv )
56
42
57
43
def info (self , format , * argv ):
58
- self ._log (LEVEL_INFO , format , * argv )
44
+ self ._log (Level . INFO , format , * argv )
59
45
60
46
def warn (self , format , * argv ):
61
- self ._log (LEVEL_WARN , format , * argv )
47
+ self ._log (Level . WARN , format , * argv )
62
48
63
49
def error (self , format , * argv ):
64
- self ._log (LEVEL_ERROR , format , * argv )
50
+ self ._log (Level . ERROR , format , * argv )
65
51
66
52
def fatal (self , format , * argv ):
67
- self ._log (LEVEL_FATAL , format , * argv )
53
+ self ._log (Level . FATAL , format , * argv )
68
54
69
55
def _log (self , level , format , * argv ):
70
56
if level < self .level :
@@ -82,7 +68,7 @@ def _log(self, level, format, *argv):
82
68
'app_id' : self .app_id ,
83
69
'app_name' : self .app_name ,
84
70
'tags' : self .tags ,
85
- 'level' : levels [ level ] ,
71
+ 'level' : level . name ,
86
72
'message' : message ,
87
73
})
88
74
@@ -91,6 +77,14 @@ def _log(self, level, format, *argv):
91
77
self ._dispatch ()
92
78
except LogError as err :
93
79
print (err )
80
+
81
+ class Level (IntEnum ):
82
+ DEBUG = 0
83
+ INFO = 1
84
+ WARN = 2
85
+ ERROR = 3
86
+ FATAL = 4
87
+ OFF = 5
94
88
95
89
class LogError (Exception ):
96
90
def __init__ (self , code , message ):
@@ -99,4 +93,3 @@ def __init__(self, code, message):
99
93
100
94
def __str__ (self ):
101
95
return 'log error, code={0}, message={1}' .format (self .code , self .message )
102
-
0 commit comments