mirror of
https://github.com/vvbbnn00/WARP-Clash-API.git
synced 2026-06-29 21:00:52 +08:00
Unify variables and constants to use the snake_case naming convention, and use camelCase for method names.
38 lines
1.0 KiB
Python
38 lines
1.0 KiB
Python
import logging
|
|
import os
|
|
from logging.handlers import TimedRotatingFileHandler
|
|
|
|
|
|
def createLogger(filename, level=logging.INFO):
|
|
"""
|
|
Create logger with TimedRotatingFileHandler
|
|
:param filename: filename
|
|
:param level: logging level
|
|
:return: logger
|
|
"""
|
|
# Create logs directory
|
|
if not os.path.exists("logs"):
|
|
os.makedirs("logs")
|
|
|
|
# Create logger
|
|
logger = logging.getLogger(filename)
|
|
logger.setLevel(level)
|
|
|
|
# Create TimedRotatingFileHandler to rotate log file
|
|
log_filename = os.path.join("logs", filename + ".log")
|
|
file_handler = TimedRotatingFileHandler(log_filename, when="midnight", interval=1, backupCount=7)
|
|
|
|
# Create formatter
|
|
formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")
|
|
file_handler.setFormatter(formatter)
|
|
|
|
# Create StreamHandler to output to console
|
|
stream_handler = logging.StreamHandler()
|
|
stream_handler.setFormatter(formatter)
|
|
|
|
# Add handlers
|
|
logger.addHandler(file_handler)
|
|
logger.addHandler(stream_handler)
|
|
|
|
return logger
|