Files
2026-07-13 13:35:51 +08:00

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)