- log.py
import logging import logging.handlers import os def init_log(log_path, level=logging.INFO, when="D", backup=7, format='%(asctime)s:[%(levelname)s][%(threadName)s] %(filename)s:%(lineno)d --> %(message)s', datefmt='%Y-%m-%d %H:%M:%S'): """ init_log - initialize log module Args: log_path - Log file path prefix. Log data will go to two files: log_path.log and log_path.log.wf Any non-exist parent directories will be created automatically level - msg above the level will be displayed DEBUG < INFO < WARNING < ERROR < CRITICAL the default value is logging.INFO when - how to split the log file by time interval 'S' : Seconds 'M' : Minutes 'H' : Hours 'D' : Days 'W' : Week day default value: 'D' format - format of the log default format: %(levelname)s: %(asctime)s: %(filename)s:%(lineno)d * %(thread)d %(message)s INFO: 12-09 18:02:42: log.py:40 * 139814749787872 HELLO WORLD backup - how many backup file to keep default value: 7 Raises: OSError: fail to create log directories IOError: fail to open log file """ formatter = logging.Formatter(format, datefmt) logger = logging.getLogger() logger.setLevel(level) # add console log consoleHandler = logging.StreamHandler() consoleHandler.setLevel(level) consoleHandler.setFormatter(formatter) logger.addHandler(consoleHandler) log_dir = os.path.dirname(log_path) if not os.path.isdir(log_dir): os.makedirs(log_dir) handler = logging.handlers.TimedRotatingFileHandler(log_path + '.log', when=when, backupCount=backup) handler.setLevel(level) handler.setFormatter(formatter) logger.addHandler(handler)
- 你可以把上面的代码拷贝到自己的项目中。在程序初始化时,调用init_log即可使日志打印符合规范
import log
def main():
log.init_log("./log/my_program") # 日志保存到./log/my_program.log和./log/my_program.log.wf,按天切割,保留7天
logging.info("Hello World!!!")
参考
*logging — Logging facility for Python
# logging_example.py import logging # Create a custom logger logger = logging.getLogger(__name__) # Create handlers c_handler = logging.StreamHandler() f_handler = logging.FileHandler('file.log') c_handler.setLevel(logging.WARNING) f_handler.setLevel(logging.ERROR) # Create formatters and add it to handlers c_format = logging.Formatter('%(name)s - %(levelname)s - %(message)s') f_format = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') c_handler.setFormatter(c_format) f_handler.setFormatter(f_format) # Add handlers to the logger logger.addHandler(c_handler) logger.addHandler(f_handler) logger.warning('This is a warning') logger.error('This is an error')
控制台打印日志:
import logging logging.basicConfig(stream=sys.stdout, level=logging.DEBUG, datefmt='%Y-%m-%d:%H:%M:%S', format='%(asctime)s,%(msecs)d [PID:%(process)d] [%(threadName)-12.12s] %(levelname)-5.5s [%(filename)s:%(lineno)d] --> %(message)s') logger = logging.getLogger(__name__) logger.info('start to work. name:%s','kanpiaoxue')
参考网址: https://realpython.com/python-logging/
相关推荐
供实际项目开发直接使用的Python Log Demo,按照日志级别可自定义输出日志级别,并按照日志以及实际项目业务对日志文件进行分类管理,保证快速定位日志,提高查询项目问题的效率。另外定义了日志回滚及最大保存的...
之前在excel里面分析log数据,简直日了*了。 现在用python在处理日志数据. 主要涉及 matplotlib,open和循环的使用。 日志内容大致如下 2016-10-21 21:07:59,787 [7 MainWindowForm]INFO: update time 136.6314 ...
本代码实现了用python处理svn log数据(xml格式),把Log的数据转化为一个python的数据结构,方便作更进一步数据挖掘!
Python编程工具 + Python编程课件 简约界面 + 快速响应 + 树状图项目管理 编译编程 + 交互编程 + 语法高亮 + 智能提示 下载链接: https://www.jianguoyun.com/p/DaRAF0QQyIyvBxjUnKEB
在Python编程中,日志(Log)记录是追踪程序运行状态、排查问题和调试代码的重要工具。本封装的目的是为了简化日志管理,提供一种直接可用的日志处理方案。下面我们将详细探讨Python中的日志模块(`logging`),以及...
这个名为"apache_Log_analysis.rar_python log_shell"的压缩包包含了一个实例,演示了如何结合使用shell脚本和Python来处理Apache服务器的日志数据。下面我们将详细探讨这个主题。 首先,Apache服务器的日志文件...
标题“工作积累(6)-使用python进行log分析”指出,这个话题主要关注如何利用Python语言对日志(log)数据进行分析。在IT行业中,日志文件是系统、应用程序或服务运行过程中产生的记录,用于追踪错误、调试问题、监控...
里面包含终端日志和输出文件日志;
Python log10()函数描述log10() 方法返回以10为基数的 x 对数。语法以下是 log10() 方法的语法:注意: log10() 是不能直接
要解析`nextcloud.log`,首先需要导入Python的`pandas`库,这是一个用于数据处理和分析的强大工具。我们可以创建一个DataFrame来存储日志数据,然后使用`pandas.read_csv()`或自定义解析函数将日志文件读入DataFrame...
**Python库oslo.log介绍** oslo.log是OpenStack项目中的一个核心库,它为其他OpenStack组件提供了统一的日志处理框架。这个库的主要目的是为了简化日志管理和配置,提供一致的日志输出格式,便于开发者调试和运营...
在本文中,我们将深入了解Python中计算对数的方法,特别是使用math模块中的log函数。这个函数在数据分析、科学计算以及各种工程领域中经常被使用,因为它能够帮助我们解决许多与指数增长或衰减相关的问题。 首先,...
资源分类:Python库 所属语言:Python 资源全名:concurrent_log_handler-0.9.4-py2.py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源分类:Python库 所属语言:Python 资源全名:logchange-0.1.2rc2.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源分类:Python库 所属语言:Python 资源全名:log_utils-0.3.0.zip 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
python小程序,用来提取lammps生成的log文件中某一类数据并导出到excel表格中
资源分类:Python库 所属语言:Python 资源全名:cilog-1.2.0-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
Python-Naga是一个基于Datalog的规则引擎,它在Python开发环境中提供了一种强大的逻辑编程工具。Datalog是一种声明性编程语言,它源自于Prolog,主要用于处理数据查询和推理问题。Naga允许开发者定义一系列规则,...
- **处理器**:处理器允许对日志消息进行格式化、颜色编码、添加额外信息等操作。 - **错误处理**:Loguru可以捕获和记录异常,使得调试更容易。 - **日志记录到文件**:可以轻松配置Loguru将日志写入文件,便于...