python日志模板(python日志模板文件)

网友投稿 833 2022-09-20

python日志模板(python日志模板文件)

python日志模板(python日志模板文件)

import sys

sys.path.append("./")

import os

import datetime

import logging

import platform

from logging.handlers import RotatingFileHandler

#linux日志路径

LIUNX_LOG_PATH='/store/logs/xxxxxx/'

logger_dict={}

def _log(file_path,pform2):

"""

1.创建logger

2.创建handler

3.定义formatter

4.给handler添加formatter

5.给logger添加handler

:param file_path: 日志路径

:param pform2: 日志文件名字

:return:

"""

LOG_FILENAME = file_path + '/spiderPy.log'

#获取具有指定名称(通道名称)的日志记录器,并创建它

logger = logging.getLogger(pform2)

#设置日志等级

logger.setLevel(logging.DEBUG)

#RotatingFileHandler 将日志记录到一组文件的处理程序,该处理程序将从一个文件切换到另一个文件当当前文件达到一定大小时,切换到下一个

handler = RotatingFileHandler(LOG_FILENAME, encoding='UTF-8', maxBytes=1024 * 1024 * 100, backupCount=999)

# 设置日志等级

handler.setLevel(logging.DEBUG)

# %(asctime)s字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒

#%(levelname)s文本形式的日志级别

#%(funcName)s调用日志输出函数的函数名

#%(lineno)s调用日志输出函数的语句所在的代码

#%(message)s用户输出的消息

# %(name)sLogger的名字

# %(levelno)s数字形式的日志级别

# %(pathname)s调用日志输出函数的模块的完整路径名,可能没有

# %(filename)s调用日志输出函数的模块的文件名

# %(module)s调用日志输出函数的模块名

# %(created)f当前时间,用UNIX标准的表示时间的浮 点数表示

# %(relativeCreated)d输出日志信息时的,自Logger创建以 来的毫秒数

# %(thread)d线程ID。可能没有

# %(threadName)s线程名。可能没有

# %(process)d进程ID。可能没有

#日志的输出格式及方式做相关配置

logging_format = logging.Formatter('%(asctime)s - %(levelname)s - %(filename)s - %(funcName)s - %(lineno)s - %(message)s')

#给handler添加formatter

handler.setFormatter(logging_format)

#给logger添加handler

logger.addHandler(handler)

return logger

def myLogger(pform):

file_name = datetime.datetime.now().strftime('%Y-%m-%d')

pform2 = str(datetime.datetime.now().strftime('%Y_%m_%d_'))+pform

#根据操作系统选择路径

if "windows" in platform.platform().lower():

file_path = os.getcwd() + "/logs/" + pform + "/" + file_name

else:

file_path = LIUNX_LOG_PATH + pform + "/" + file_name

#没路径肯定没当前文件路径日志对象

if not os.path.exists(file_path):

os.makedirs(file_path)

logger_dict[pform]=_log(file_path,pform2)

#有路径可能有日志对象

else:

#没有对象 创建日志对象

if not logger_dict.get(pform):

logger_dict[pform] = _log(file_path, pform2)

return logger_dict[pform]

def logInfo(pform,content):

try:

myLogger(pform).info(content)

except:

myLogger(pform).info(content)

def logDebug(pform,cotent):

try:

myLogger(pform).debug(cotent)

except:

myLogger(pform).debug(cotent)

def logError(pform,content):

try:

myLogger(pform).error(content)

except:

myLogger(pform).error(content)

出处:https://cnblogs.com/pythonywy/p/12844889.html

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:用window.open函数页面传值
下一篇:Windows环境下搭建Oracle 12c的体验
相关文章

 发表评论

暂时没有评论,来抢沙发吧~