日志输出:控制台和log文件输出日志

Posted andy9468

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了日志输出:控制台和log文件输出日志相关的知识,希望对你有一定的参考价值。

 

self_log.py 中

import os
import logging
import time

# 如果日志文件夹不存在,则创建
log_dir = "log"  # 日志存放文件夹名称
log_path = os.getcwd() + os.sep + log_dir
if not os.path.isdir(log_path):
    os.makedirs(log_path)

# 设置logging
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
main_log_handler = logging.FileHandler(
    log_dir + "/email_main_%s.log" % time.strftime("%Y-%m-%d_%H-%M-%S", time.localtime(time.time())), mode="w+",
    encoding="utf-8")
main_log_handler.setLevel(logging.DEBUG)
formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")
main_log_handler.setFormatter(formatter)
logger.addHandler(main_log_handler)

# 控制台打印输出日志
console = logging.StreamHandler()  # 定义一个StreamHandler,将INFO级别或更高的日志信息打印到标准错误,并将其添加到当前的日志处理对象
console.setLevel(logging.INFO)  # 设置要打印日志的等级,低于这一等级,不会打印
formatter = logging.Formatter("%(asctime)s - %(levelname)s: %(message)s")
console.setFormatter(formatter)
logging.getLogger(‘‘).addHandler(console)

  

 

其他文件要使用时,在其他文件中导入:如

import self_log
from self_log import logger

  

以上是关于日志输出:控制台和log文件输出日志的主要内容,如果未能解决你的问题,请参考以下文章

如何用log4j输出多个自定义日志文件

如何让log4j日志只输出错误信息

python分析apache和nginx日志文件输出访客ip列表的代码

Python_logging在多模块项目中日志输出应用

log4j.properties中怎样配置才能在输出的日志信息中输出进程号和线程号?

怎么通过log4j文件控制jar包里面的日志输出