86 lines
2.4 KiB
Python
86 lines
2.4 KiB
Python
import logging
|
|
import os
|
|
import time
|
|
|
|
|
|
def _transform_log_level(str_level):
|
|
if str_level == "info":
|
|
return logging.INFO
|
|
elif str_level == "warning":
|
|
return logging.WARNING
|
|
elif str_level == "critical":
|
|
return logging.CRITICAL
|
|
elif str_level == "debug":
|
|
return logging.DEBUG
|
|
elif str_level == "error":
|
|
return logging.ERROR
|
|
else:
|
|
raise KeyError("Log level error")
|
|
|
|
|
|
class LightLogging(object):
|
|
def __init__(self, log_path=None, log_name="lightlog", log_level="debug"):
|
|
log_level = _transform_log_level(log_level)
|
|
|
|
if log_path:
|
|
if not log_path.endswith("/"):
|
|
log_path += "/"
|
|
if not os.path.exists(log_path):
|
|
os.mkdir(log_path)
|
|
|
|
if log_name.endswith("-") or log_name.endswith("_"):
|
|
log_name = (
|
|
log_path
|
|
+ log_name
|
|
+ time.strftime(
|
|
"%Y-%m-%d-%H:%M", time.localtime(time.time())
|
|
)
|
|
+ ".log"
|
|
)
|
|
else:
|
|
log_name = (
|
|
log_path
|
|
+ log_name
|
|
+ "_"
|
|
+ time.strftime(
|
|
"%Y-%m-%d-%H-%M", time.localtime(time.time())
|
|
)
|
|
+ ".log"
|
|
)
|
|
|
|
logging.basicConfig(
|
|
level=log_level,
|
|
format="%(asctime)s %(levelname)s: %(message)s",
|
|
datefmt="%Y-%m-%d-%H:%M",
|
|
handlers=[
|
|
logging.FileHandler(log_name, mode="w"),
|
|
logging.StreamHandler(),
|
|
],
|
|
)
|
|
logging.info("Start Logging")
|
|
logging.info("Log file path: {}".format(log_name))
|
|
|
|
else:
|
|
logging.basicConfig(
|
|
level=log_level,
|
|
format="%(asctime)s %(levelname)s: %(message)s",
|
|
datefmt="%Y-%m-%d-%H:%M",
|
|
handlers=[logging.StreamHandler()],
|
|
)
|
|
logging.info("Start Logging")
|
|
|
|
def debug(self, msg):
|
|
logging.debug(msg)
|
|
|
|
def info(self, msg):
|
|
logging.info(msg)
|
|
|
|
def critical(self, msg):
|
|
logging.critical(msg)
|
|
|
|
def warning(self, msg):
|
|
logging.warning(msg)
|
|
|
|
def error(self, msg):
|
|
logging.error(msg)
|