33import json
44import time
55import threading
6+ from enum import IntEnum
67import asyncio
78import requests
89import arrow
910from .common import API_URL
1011
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-
2612class _Log ():
2713 def __init__ (self , interceptor ):
2814 self .path = '/log'
@@ -32,7 +18,7 @@ def __init__(self, interceptor):
3218 self .app_id = ''
3319 self .app_name = ''
3420 self .tags = []
35- self .level = LEVEL_INFO
21+ self .level = Level . INFO
3622 self .batch_size = 60
3723 self .dispatch_interval = 60
3824
@@ -52,19 +38,19 @@ async def _dispatch(self):
5238 self .entries .clear ()
5339
5440 def debug (self , format , * argv ):
55- self ._log (LEVEL_DEBUG , format , * argv )
41+ self ._log (Level . DEBUG , format , * argv )
5642
5743 def info (self , format , * argv ):
58- self ._log (LEVEL_INFO , format , * argv )
44+ self ._log (Level . INFO , format , * argv )
5945
6046 def warn (self , format , * argv ):
61- self ._log (LEVEL_WARN , format , * argv )
47+ self ._log (Level . WARN , format , * argv )
6248
6349 def error (self , format , * argv ):
64- self ._log (LEVEL_ERROR , format , * argv )
50+ self ._log (Level . ERROR , format , * argv )
6551
6652 def fatal (self , format , * argv ):
67- self ._log (LEVEL_FATAL , format , * argv )
53+ self ._log (Level . FATAL , format , * argv )
6854
6955 def _log (self , level , format , * argv ):
7056 if level < self .level :
@@ -82,7 +68,7 @@ def _log(self, level, format, *argv):
8268 'app_id' : self .app_id ,
8369 'app_name' : self .app_name ,
8470 'tags' : self .tags ,
85- 'level' : levels [ level ] ,
71+ 'level' : level . name ,
8672 'message' : message ,
8773 })
8874
@@ -91,6 +77,14 @@ def _log(self, level, format, *argv):
9177 self ._dispatch ()
9278 except LogError as err :
9379 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
9488
9589class LogError (Exception ):
9690 def __init__ (self , code , message ):
@@ -99,4 +93,3 @@ def __init__(self, code, message):
9993
10094 def __str__ (self ):
10195 return 'log error, code={0}, message={1}' .format (self .code , self .message )
102-
0 commit comments