46 lines
1.0 KiB
Python
46 lines
1.0 KiB
Python
|
import logging
|
||
|
import os
|
||
|
|
||
|
|
||
|
def setup_logger(name, log_file, level=logging.INFO):
|
||
|
"""Function setup as many loggers as you want"""
|
||
|
if not os.path.exists(os.path.dirname(log_file)):
|
||
|
os.makedirs(os.path.dirname(log_file))
|
||
|
|
||
|
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
|
||
|
|
||
|
handler = logging.FileHandler(log_file)
|
||
|
handler.setFormatter(formatter)
|
||
|
|
||
|
# 控制台是否输出日志信息
|
||
|
# stream_handler = logging.StreamHandler()
|
||
|
# stream_handler.setFormatter(formatter)
|
||
|
|
||
|
logger = logging.getLogger(name)
|
||
|
logger.setLevel(level)
|
||
|
logger.addHandler(handler)
|
||
|
# 控制台
|
||
|
# logger.addHandler(stream_handler)
|
||
|
|
||
|
# 刷新原有log文件
|
||
|
|
||
|
if os.path.exists(log_file):
|
||
|
open(log_file, 'w').close()
|
||
|
|
||
|
return logger
|
||
|
|
||
|
|
||
|
"""
|
||
|
用法示例
|
||
|
"""
|
||
|
|
||
|
|
||
|
def main():
|
||
|
log_file = "app.log"
|
||
|
logger = setup_logger(__name__, log_file)
|
||
|
|
||
|
logger.info("Application started.")
|
||
|
logger.debug("Debug message.")
|
||
|
logger.warning("Warning message.")
|
||
|
logger.error("Error occurred.")
|