A. python用logging模块写日志文件无输出
来个简单点的
#-*-coding:utf-8-*-
importlogging
__author__='lpe234'
__date__='2015-04-30'
LOGGING_FILE='xx.log'
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s%(filename)s[line:%(lineno)d]%(levelname)s%(message)s',
filename=LOGGING_FILE,
filemode='a+'
)
logging.debug('debug')
logging.info('info')
logging.exception('exception')
logging.error('error')
logging.critical('critical')
B. nb-log为啥有空行
输出后没有加换行符。nb-log是Python中的一个日志记录库,通常情况下,日志文件中的空行是由于日志处理器在记录日志时,日志记录器在日志输出结束后没有加上换行符导致的。
C. python 的日志在项目中使用指南
在Python项目开发中,日志管理是提升效率的关键工具。通过使用logging库,我们可以有效地追踪和管理项目中的信息。首先,项目结构通常包含主程序app.py,模块文件夹以及专门的日志配置文件logger.py。logger.py配置了日志级别为DEBUG,定义了日志格式,并使用StreamHandler或FileHandler输出到控制台或文件,get_logger函数则方便追踪日志来源。
在模块中,如mole.py,通过导入logger并使用get_logger方法,创建特定模块的日志实例,便于追踪。例如,当处理多线程情况时,日志记录尤其重要,它可以帮助调试。主程序app.py需在初始化时设置日志,否则get_logger函数无法正常工作。
运行app.py后,会在当前目录生成app_demo.log文件,记录了模块调用和日志级别。然而,在生产环境中,日志通常会通过数据库或消息队列(如Kafka)进行流式处理。这时,只需在logging库的基础上,创建相应的handler,其他设置方法与上述类似。
通过以上步骤,Python项目的日志管理变得有序且易于维护,无论是调试还是生产环境,都能提供有力的支持。