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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值