-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlog.py
37 lines (25 loc) · 864 Bytes
/
log.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import logging
def _commit(target, *args, **kwargs):
title = " ".join([str(x) for x in args])
if kwargs:
params = [f" {k}={v}" for k,v in kwargs.items()]
params = "\n".join([x for x in params])
target(title + ':\n' + params)
else:
target(title)
def debug(*args, **kwargs):
_commit(logging.debug, *args, **kwargs)
def info(*args, **kwargs):
_commit(logging.info, *args, **kwargs)
def warn(*args, **kwargs):
_commit(logging.warn, *args, **kwargs)
def error(*args, **kwargs):
_commit(logging.error, *args, **kwargs)
def init_logger(env):
logging.basicConfig(
level=logging.INFO if env == "PRODUCTION" else logging.DEBUG,
filename="main.log",
filemode="w",
format='%(name)s - %(levelname)s - %(message)s'
)
info("Starting in", env, "environment")