Skip to content

Commit 9eea106

Browse files
committed
More coverage + tests
1 parent 356f366 commit 9eea106

File tree

6 files changed

+401
-85
lines changed

6 files changed

+401
-85
lines changed

servicestack/__init__.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,9 @@
5454
'IdResponse',
5555
'StringResponse',
5656
'StringsResponse',
57-
'AuditBase'
57+
'AuditBase',
58+
'qsvalue'
5859
]
5960

60-
from .servicestack import JsonServiceClient
61+
from .servicestack import JsonServiceClient, json_encode, qsvalue, resolve_httpmethod
6162
from .client_dtos import *

servicestack/log.py

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
from abc import ABC, abstractmethod
2+
from enum import Enum
3+
4+
class LogLevel(str,Enum):
5+
DEBUG = 'DEBUG'
6+
INFO = 'INFO'
7+
WARN = 'WARN'
8+
ERROR = 'ERROR'
9+
10+
class Logger(ABC):
11+
@abstractmethod
12+
def log(self, level:LogLevel, msg:str, e:Exception=None):
13+
...
14+
15+
class ConsoleLogger(Logger):
16+
def log(self, level:LogLevel, msg:str, e:Exception=None):
17+
print(f"{level}: {msg}")
18+
19+
class NullLogger(Logger):
20+
def log(self, level:LogLevel, msg:str, e:Exception=None):
21+
pass
22+
23+
class Log:
24+
levels: list[LogLevel] = [LogLevel.DEBUG,LogLevel.WARN,LogLevel.ERROR]
25+
logger:Logger = ConsoleLogger()
26+
27+
@property
28+
def debug_enabled(self):
29+
return LogLevel.DEBUG in Log.levels
30+
@property
31+
def info_enabled(self):
32+
return LogLevel.INFO in Log.levels
33+
@property
34+
def warn_enabled(self):
35+
return LogLevel.WARN in Log.levels
36+
@property
37+
def error_enabled(self):
38+
return LogLevel.ERROR in Log.levels
39+
40+
def debug(msg:str):
41+
if (Log.debug_enabled):
42+
Log.logger.log(LogLevel.DEBUG, msg)
43+
def info(msg:str):
44+
if (Log.info_enabled):
45+
Log.logger.log(LogLevel.INFO, msg)
46+
def warn(msg:str, e:Exception=None):
47+
if (Log.warn_enabled):
48+
Log.logger.log(LogLevel.WARN, msg, e)
49+
def error(msg:str, e:Exception=None):
50+
if (Log.error_enabled):
51+
Log.logger.log(LogLevel.ERROR, msg, e)

0 commit comments

Comments
 (0)