首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

除非在任何函数之前先在顶部调用basicConfig,否则不会创建Python日志文件

在Python中,日志是一种记录和追踪程序运行过程中事件和错误的重要工具。为了使用日志功能,我们需要使用Python内置的logging模块。

在使用logging模块之前,我们需要在顶部调用basicConfig函数进行基本配置。basicConfig函数用于设置日志的输出格式、日志级别等参数。如果在任何函数之前没有调用basicConfig函数,将不会创建Python日志文件。

下面是一个示例代码:

代码语言:txt
复制
import logging

logging.basicConfig(filename='app.log', level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')

def my_function():
    logging.debug('This is a debug message')
    logging.info('This is an info message')
    logging.warning('This is a warning message')
    logging.error('This is an error message')
    logging.critical('This is a critical message')

my_function()

在上面的代码中,我们首先调用basicConfig函数进行基本配置。其中,filename参数指定日志文件的名称为'app.log',level参数设置日志级别为DEBUG,format参数设置日志的输出格式。

然后,我们定义了一个名为my_function的函数,并在函数中使用logging模块记录不同级别的日志消息。

通过调用不同级别的日志函数,我们可以根据需要记录不同类型的日志消息。在上面的示例中,我们记录了DEBUG、INFO、WARNING、ERROR和CRITICAL级别的日志消息。

最后,我们调用my_function函数来生成日志消息并写入日志文件中。

需要注意的是,如果在任何函数之前没有调用basicConfig函数,将不会创建Python日志文件。因此,在使用logging模块之前,确保在顶部调用basicConfig函数进行基本配置。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云日志服务:https://cloud.tencent.com/product/cls
  • 腾讯云函数计算:https://cloud.tencent.com/product/scf
  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云容器服务:https://cloud.tencent.com/product/ccs
  • 腾讯云云原生应用引擎:https://cloud.tencent.com/product/tke
  • 腾讯云云数据库 MySQL 版:https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链服务:https://cloud.tencent.com/product/tbaas
  • 腾讯云物联网通信:https://cloud.tencent.com/product/iotexplorer
  • 腾讯云移动推送:https://cloud.tencent.com/product/tpns
  • 腾讯云云存储(CFS):https://cloud.tencent.com/product/cfs
  • 腾讯云视频处理服务:https://cloud.tencent.com/product/vod
  • 腾讯云人工智能:https://cloud.tencent.com/product/ai
  • 腾讯云音视频通信(TRTC):https://cloud.tencent.com/product/trtc
  • 腾讯云网络安全:https://cloud.tencent.com/product/ddos
  • 腾讯云云联网:https://cloud.tencent.com/product/ccn
  • 腾讯云云原生数据库 TDSQL:https://cloud.tencent.com/product/tdsql
  • 腾讯云云原生数据库 TBase:https://cloud.tencent.com/product/tbase
  • 腾讯云云原生数据库 CynosDB:https://cloud.tencent.com/product/cynosdb
  • 腾讯云云原生数据库 TcaplusDB:https://cloud.tencent.com/product/tcaplusdb
  • 腾讯云云原生数据库 CDB for PostgreSQL:https://cloud.tencent.com/product/cdb_postgresql
  • 腾讯云云原生数据库 CDB for MariaDB:https://cloud.tencent.com/product/cdb_mariadb
  • 腾讯云云原生数据库 CDB for SQL Server:https://cloud.tencent.com/product/cdb_sqlserver
  • 腾讯云云原生数据库 CDB for Redis:https://cloud.tencent.com/product/cdb_redis
  • 腾讯云云原生数据库 CDB for MongoDB:https://cloud.tencent.com/product/cdb_mongodb
  • 腾讯云云原生数据库 CDB for Cassandra:https://cloud.tencent.com/product/cdb_cassandra
  • 腾讯云云原生数据库 CDB for InfluxDB:https://cloud.tencent.com/product/cdb_influxdb
  • 腾讯云云原生数据库 CDB for ClickHouse:https://cloud.tencent.com/product/cdb_clickhouse
  • 腾讯云云原生数据库 CDB for Neo4j:https://cloud.tencent.com/product/cdb_neo4j
  • 腾讯云云原生数据库 CDB for JanusGraph:https://cloud.tencent.com/product/cdb_janusgraph
  • 腾讯云云原生数据库 CDB for ArangoDB:https://cloud.tencent.com/product/cdb_arangodb
  • 腾讯云云原生数据库 CDB for TiDB:https://cloud.tencent.com/product/cdb_tidb
  • 腾讯云云原生数据库 CDB for CockroachDB:https://cloud.tencent.com/product/cdb_cockroachdb
  • 腾讯云云原生数据库 CDB for Elasticsearch:https://cloud.tencent.com/product/cdb_elasticsearch
  • 腾讯云云原生数据库 CDB for Oracle:https://cloud.tencent.com/product/cdb_oracle
  • 腾讯云云原生数据库 CDB for SQL Server(Windows):https://cloud.tencent.com/product/cdb_sqlserver_win
  • 腾讯云云原生数据库 CDB for SQL Server(Linux):https://cloud.tencent.com/product/cdb_sqlserver_linux
  • 腾讯云云原生数据库 CDB for PostgreSQL(Windows):https://cloud.tencent.com/product/cdb_postgresql_win
  • 腾讯云云原生数据库 CDB for PostgreSQL(Linux):https://cloud.tencent.com/product/cdb_postgresql_linux
  • 腾讯云云原生数据库 CDB for MariaDB(Windows):https://cloud.tencent.com/product/cdb_mariadb_win
  • 腾讯云云原生数据库 CDB for MariaDB(Linux):https://cloud.tencent.com/product/cdb_mariadb_linux
  • 腾讯云云原生数据库 CDB for MongoDB(Windows):https://cloud.tencent.com/product/cdb_mongodb_win
  • 腾讯云云原生数据库 CDB for MongoDB(Linux):https://cloud.tencent.com/product/cdb_mongodb_linux
  • 腾讯云云原生数据库 CDB for Redis(Windows):https://cloud.tencent.com/product/cdb_redis_win
  • 腾讯云云原生数据库 CDB for Redis(Linux):https://cloud.tencent.com/product/cdb_redis_linux
  • 腾讯云云原生数据库 CDB for ClickHouse(Windows):https://cloud.tencent.com/product/cdb_clickhouse_win
  • 腾讯云云原生数据库 CDB for ClickHouse(Linux):https://cloud.tencent.com/product/cdb_clickhouse_linux
  • 腾讯云云原生数据库 CDB for Neo4j(Windows):https://cloud.tencent.com/product/cdb_neo4j_win
  • 腾讯云云原生数据库 CDB for Neo4j(Linux):https://cloud.tencent.com/product/cdb_neo4j_linux
  • 腾讯云云原生数据库 CDB for JanusGraph(Windows):https://cloud.tencent.com/product/cdb_janusgraph_win
  • 腾讯云云原生数据库 CDB for JanusGraph(Linux):https://cloud.tencent.com/product/cdb_janusgraph_linux
  • 腾讯云云原生数据库 CDB for ArangoDB(Windows):https://cloud.tencent.com/product/cdb_arangodb_win
  • 腾讯云云原生数据库 CDB for ArangoDB(Linux):https://cloud.tencent.com/product/cdb_arangodb_linux
  • 腾讯云云原生数据库 CDB for TiDB(Windows):https://cloud.tencent.com/product/cdb_tidb_win
  • 腾讯云云原生数据库 CDB for TiDB(Linux):https://cloud.tencent.com/product/cdb_tidb_linux
  • 腾讯云云原生数据库 CDB for CockroachDB(Windows):https://cloud.tencent.com/product/cdb_cockroachdb_win
  • 腾讯云云原生数据库 CDB for CockroachDB(Linux):https://cloud.tencent.com/product/cdb_cockroachdb_linux
  • 腾讯云云原生数据库 CDB for Elasticsearch(Windows):https://cloud.tencent.com/product/cdb_elasticsearch_win
  • 腾讯云云原生数据库 CDB for Elasticsearch(Linux):https://cloud.tencent.com/product/cdb_elasticsearch_linux
  • 腾讯云云原生数据库 CDB for Oracle(Windows):https://cloud.tencent.com/product/cdb_oracle_win
  • 腾讯云云原生数据库 CDB for Oracle(Linux):https://cloud.tencent.com/product/cdb_oracle_linux

请注意,以上链接仅为示例,具体的产品和链接可能会根据腾讯云的更新而变化。建议您在需要了解具体产品信息时,访问腾讯云官方网站获取最新的产品信息和链接。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python 自动化指南(繁琐工作自动化)第二版:十一、调试

在可以从多个地方调用函数的程序中,调用栈可以帮助您确定哪个调用导致了错误。 每当出现未处理的异常时,Python 都会显示回溯。...在调用这个函数之前,你需要导入 Python 的traceback模块。 例如,您可以将回溯信息写入一个文本文件并保持程序运行,而不是在发生异常时立即使程序崩溃。...Python 的logging模块使得创建您编写的定制消息的记录变得容易。这些日志消息将描述程序执行到达日志函数调用的时间,并列出您在该时间点指定的任何变量。...用户不会关心你需要看到的帮助调试的一些字典值的内容;使用日志消息来做类似的事情。对于用户希望看到的消息,如文件未找到或输入无效,请输入一个号码,您应该使用print()调用。...将日志信息写到一个文件中会保持你的屏幕清晰,并存储这些信息,这样你可以在运行程序后阅读它们。您可以在任何文本编辑器中打开此文本文件,如记事本或“文本编辑”。

1.4K40

Python开发之日志记录模块:logg

意思就是说,logging.basicConfig函数只在第一次运行(第一次对logging进行配置)时起作用,后面在此设置其他参数是不会生效的。...另外需要注意的是,一定要在使用logging记录日志之前使用logging.basicConfig进行配置,否则不会任何输出。...需要说明的是,stream和filename不能同时提供,否则会引发 ValueError异常 style Python 3.2中新添加的配置项。...s 调用日志输出函数的模块的文件名; pathname的文件名部分,包含文件后缀 funcName %(funcName)s 由哪个function发出的log, 调用日志输出函数函数名 levelname...可能没有 threadName %(thread)s 线程名称 module %(module)s 调用日志输出函数的模块名, filename的名称部分,不包含后缀即不包含文件后缀的文件名 created

1.3K20

Python 日志模块logging

()里面有很多参数,参考如下: 参数名称 描述 filename 将日志信息写入文件中,指定该设置项后日志信息就不会被输出到控制台了 filemode 指定日志文件的打开模式,默认为'a'。...需要说明的是,stream和filename不能同时提供,否则会引发 ValueError异常 style Python 3.2中新添加的配置项。...,通过 msg % args计算得到的 pathname %(pathname)s 调用日志记录函数的源码文件的全路径 filename %(filename)s pathname的文件名部分,包含文件后缀...module %(module)s filename的名称部分,不包含后缀 lineno %(lineno)d 调用日志记录函数的源代码所在的行号 funcName %(funcName)s 调用日志记录函数函数名...下面使用封装后的logging写日志 使用logging类的步骤如下: 1、先创建一个日志的对象 2、创建一个模板 3、创建输出流(文件流,屏幕流两种) 4、将流和模板绑定 5、将日志和流进行绑定 6、

62130

Python】使用logging打日志

Python中内置一个日志模块——logging,通过它我们就可以很方便的在Python代码中记录简单的程序日志。...默认情况下,logging使用的日志级别是warning,这表示只有在这个级别及其以上级别的日志信息才会被记录,所以默认情况下debug信息和info信息都不会被显示出来。...; %(created)f:日志创建时的时间(由time.time()返回); %(filename)s:文件名; %(funcName)s:调用日志记录的函数; %(levelname)s:日志消息的文本级别...; %(levelno)s:日志消息的数字级别; %(lineno)d:调用日志消息的行号; %(msecs)d:创建时间的毫秒部分; %(message)s:日志消息; %(name)s:日志器的名称...; %(relativeCreated)d:创建日志记录的时间(以毫秒为单位) # 借助于这些格式,我们可以自定义日志记录,比如显示时间: import logging logging.basicConfig

94420

日志消息这顿排骨它不香嘛?

Python中记录程序运行的日志文件时,我们需要调用logging模块,通过该模块,我们很容易的创建自定义的消息记录,这些日志消息将描述程序执行时,何时达到日志函数调用,并列出我们想要指定的任何变量当时的值...1 使用日志模块 使用日志消息要启用logging模块,在程序运行时将日志信息显示在屏幕上,所以我们当然需要先调用该模块了,并且输入以下代码: #调用logging函数 import logging logging.basicConfig...当python记录一个事件的日志时,它会创建一个LogRecord对象,保存关于该事件的信息,Logging模块的函数让你能够指定看到这个LogRecord对象的细节,以及希望的细节展示方式。...例如:将basicConfig()函数的level的关键字参数改为logging.ERROR,这样将只显示ERROR级别和CRITICAL的日志消息,对于ERROR以下级别的日志消息并不会显示在屏幕上。...例如下面这行代码,我们只禁用INFO及以下级别的日志消息,则对于INFO以上的WARNING消息则不会禁用 #日志禁用 import logging logging.basicConfig(level=

42210

Python日志模块全面指南】:记录每一行代码的呼吸,掌握应用程序的脉搏

; pathname的文件名部分,包含文件后缀 funcName %(funcName)s 由哪个function发出的log, 调用日志输出函数函数名 levelname %(levelname)s...通常情况下,在应用程序开始执行时调用 basicConfig() 函数即可完成全局的基本配置。...),指定该设置项后日志信息就不会被输出到控制台了 filemode 指定日志文件的打开模式,默认为’a’。...logging.info('This is an info message') # 首先调用basicConfig() 函数,并传递了一些参数来设置日志记录器的属性。...需要注意的是,如果在多个模块或文件中使用相同的 logger 对象,则必须确保在所有地方都调用basicConfig() 函数,或者手动对所有 logger 对象进行配置。

32530

Python3 日志模块

logging.basicConfig()函数来配置日志等级、日志显示格式、日志显示的消息等 相关参数及含义为: 参数 含义 filename 指定存储日志文件名 filemod 指定日志文件打开的模式...%(levelname)s 打印日志级别名称 %(pathname)s 打印调用日志输出函数的模块的完整路径名,可能没有 %(filename)s 打印调用日志输出函数的模块的文件名 %(funcName...)s 打印调用日志输出函数函数名 %(module)s 打印调用日志输出函数的模块名 %(lineno)d 打印调用日志输出函数的语句所在的代码行号 %(created)f 当前时间,用UNIX标准的表示时间的浮...logger 每个程序在输出日志之前都要获得一个Logger。...maxBytes用于指定日志文件的最大文件大小。 如果maxBytes为0,意味着日志文件可以无限大,这时上面描述的重命名过程就不会发生。 backupCount用于指定保留的备份文件的个数。

76720

python 日志模块 logging 详解

)s 文本形式的日志级别 %(pathname)s 调用日志输出函数的模块的完整路径名,可能没有 %(filename)s 调用日志输出函数的模块的文件名 %(module)s 调用日志输出函数的模块名...%(funcName)s 调用日志输出函数函数名 %(lineno)d 调用日志输出函数的语句所在的代码行 %(created)f 当前时间,用UNIX标准的表示时间的浮 点数表示 %(relativeCreated...当文件达到一定大小之后,它会自动将当前日志文件改名,然后创建 一个新的同名日志文件继续输出。比如日志文件是chat.log。...maxBytes用于指定日志文件的最大文件大小。如果maxBytes为0,意味着日志文件可以无限大,这时上面描述的重命名过程就不会发生。 backupCount用于指定保留的备份文件的个数。...,而是间隔一定时间就 自动创建新的日志文件

2.2K70

Python logging模块的基本使用

Python 内置了 logging 模块,在 Python 中,可以使用 logging 模块来实现与日志相关的功能。如输出运行日志到控制台,将运行日志写入文件日志文件滚动存储等。...logging 模块主要包含四个部分: Loggers: 提供程序调用的接口,在代码中调用 api 来记录日志 Handlers: 对日志信息进行不同的处理,如记录日志的方式 Formatters: 定义日志的打印格式...如果在 basicConfig() 中传入 filename 参数,指定日志输出的文件,则日志信息会写到文件中,不会在控制台打印。...filename 参数一起使用,否则会 ValueError 异常 8. handles:定义处理器,用来创建 Handler 对象,不能和 filename 、stream 参数一起使用,否则也会抛出...可以额外指定 datefmt 参数来指定该变量的格式 2. name:日志对象的名称 3. filename:不包含路径的文件名 4. pathname:包含路径的文件名 5. funcName:日志记录所在的函数

1.3K30

python线程基础

创建进程,然后再创建一个线程 等待资源的运行 阻塞不能直接进入运行状态,必须先进入就绪状态 运行中的线程是可以被取消的 二 python线程开发 1 Thread类 签名 def __init...结论:start()函数调用run函数,而run()函数是用来运行函数的,start是创建线程的,在执行start()时run()必不可少,而在运行run()时因为不需要调用start(),因此其是非必须的...---- start 会启用新的线程,其使用可以形成多线程,而run()是在当前线程中调用函数不会产生新的线程,其均不能多次调用 4 多线程概述 一个进程中如果有多个线程,就是多线程,实现一种并发...,否则会引发异常 isDaemon() 是否是daemon线程 setDaemon() 设置为daemon线程,必须在start方法之前设置 ---- 总结: python中父线程和子线程没有直接的管理关系...如果线程已经开始执行了,则cancel就没有任何效果了 4 总结 Timer是线程Thread的子类,就是线程类,具有线程的能力和特征 它的实例是能够延迟执行目标函数的线程,在真正的执行目标函数之前

68430

python日志处理模块

(asctime)s 创建logrecord时的可读时间,默认格式是Y-m-d H:M:S, (逗号后面的数字是毫秒部分的时间) 函数名 %(funcName)s 日志调用所在的函数日志级别名称 %...info,此处format为引用日志格式,此处通过定义日志格式来 # 确定打印的日志为正常格式,其和%(asctime)互相作用,此处指定打印的路径,若不存在,则创建并追加,如此下面便不会再次打印 d=...此处虽然handler设置了ERROR 级别,但info级别还是能够打印出来,其不会影响当前级别的日志,而继承的日志也没受到handler的影响直接打印 日志输出到文件 #!...如果root.handlers列表不是空,则logging.basicConfig调用什么都不做。...#重新格式化传值,定义日志输出到文件 root=logging.getLogger() print (root,id(root)) loga=logging.getLogger('s') # 模块和模块下的某个函数或类

59710

django日志logging的配置以及处理

其中logging.basicConfig(**kwargs)函数用于指定“要记录的日志级别”、“日志格式”、“日志输出位置”、“日志文件的打开模式”等信息,其他几个都是用于记录各个级别日志函数。...: logging.basicConfig(**kwargs) 该函数可接收的关键字参数如下: 参数名称 描述 filename 指定日志输出目标文件文件名,指定该设置项后日志信心就不会被输出到控制台了...,通过 msg % args计算得到的 pathname %(pathname)s 调用日志记录函数的源码文件的全路径 filename %(filename)s pathname的文件名部分,包含文件后缀...其他说明 几个要说明的内容: logging.basicConfig()函数是一个一次性的简单配置工具使,也就是说只有在第一次调用函数时会起作用,后续再次调用函数时完全不会产生任何操作的,多次调用的设置并不是累加操作...,如果满足则继续下一步操作; 3)根据日志记录函数调用时掺入的参数,创建一个日志记录(LogRecord类)对象; 4)判断日志记录器上设置的过滤器是否拒绝这条日志记录,如果日志记录器上的某个过滤器拒绝

2.2K30

Python3标准库之threading进程中管理并发操作方法

如果能够创建一个线程,并向它传递参数告诉它要完成什么工作,那么这会很有用。任何类型的对象都可以作为参数传递到线程。下面的例子传递了一个数,线程将打印出这个数。...1.5 派生线程 开始时,Thread要完成一些基本初始化,然后调用其run()方法,这会调用传递到构造函数的目标函数。要创建Thread的一个子类,需要覆盖run()来完成所需的工作。...在这个例子中,wait_for_event_timeout()将检查事件状态而不会无限阻塞。wait_for_event()在wait()调用的位置阻塞,事件状态改变之前不会返回。 ?...Python的内置数据结构(列表、字典等)是线程安全的,这是Python使用原子字节码来管理这些数据结构的一个副作用(更新过程中不会释放保护Python内部数据结构的全局解释器锁GIL(Global Interpreter...local()函数创建一个对象,它能够隐藏值,使其在不同线程中无法被看到。

37920

Python 模块2

如何提升日志级别: 通过logging.basicConfig函数日志的输出格式及方式做相关配置 import logging logging.basicConfig(level=logging.DEBUG...函数进行操作,现在我们来介绍一下该函数参数的用法: level: 设置日志级别,默认为logging.WARNING filename: 指定日志文件名。...filemode: 和file函数意义相同,指定日志文件的打开模式,'w'或'a' format: 指定输出的格式和内容,format可以输出很多有用信息,如上例所示: %(levelname)s: 打印日志级别名称...目录下的文件 print(os.listdir('C:\Python27')) ⑤ 在当前目录下创建abc目录 os.mkdir('abc') ⑥ 删除当前目录下的1.txt文件,(若文件不存在会报错)...解释: 1,设置sys.exitfunc函数,及当执行sys.exit(1)的时候,调用exitfunc函数 2,sys.exit(1)后面的内容就不会执行了,因为程序已经退出。

55630

Python日志管理

、Formatter Logger:日志,暴露函数给应用程序,基于日志记录器和过滤器级别决定哪些日志有效 LogRecord :日志记录器,将日志传到相应的处理器处理 Handler :处理器, 将(日志记录器产生的...Logger 对象对于设置的级别是否可用,如果可用,则往下执行,否则,流程结束 创建 LogRecord 对象,如果注册到 Logger 对象中的 Filter 对象过滤后返回 False,则不记录日志...对象中的 Filter 对象过滤后是否返回 True 而放行输出日志信息,否则不放行,流程结束 如果传入的 Handler 大于 Logger 中设置的级别,也即 Handler 有效,则往下执行,否则...使用basicConfig()方法 最简单的方式是直接使用logging.basicConfig()方法默认配置日志,可以满足基本使用,如果方法没有传入参数,会根据默认的配置创建Logger 对象,...,其中ini文件配置不需要安装任何解析包 test.ini 文件 [loggers] keys=root,sampleLogger [handlers] keys=consoleHandler [formatters

52031

python报错提示以及logger的一些应用

1、防范报错 1.1 assert 断言 Python的assert是用来检查一个条件,如果它为真,就不做任何事。如果它为假,则会抛出AssertError并且包含错误信息。...即覆盖之前保存的log信息 3.2 常规:logging + handlers + TimedRotatingFileHandler 参考:Python + logging 输出到屏幕,将log日志写入文件...默认的0是不会自动删除掉日志。若设10,则在文件创建过程中库会判断是否有超过这个10,若超过,则会从最先创建的开始删除。...Log python中logging模块下篇 我们不仅可以通过python代码进行logging配置,而且可以通过写一个yaml文件进行配置,每次需要用logging时只要调用这个文件就配置完成。...执行这一句时,会调用__enter__函数,然后把该函数return的值传给as后指定的变量。

54620

轻松搞定Python日志记录:logging模块详解与实战

logging模块简介 logging模块是Python标准库的一部分,用于生成和管理日志消息。它支持多种日志级别、不同的输出目标(如控制台、文件、网络等)以及灵活的日志格式配置。...导入logging模块 在开始使用logging模块之前,需要先导入它: import logging 配置基本日志 要开始记录日志,可以使用basicConfig方法进行简单配置。...NullHandler:丢弃日志,不进行任何处理。...,使用RotatingFileHandler创建了一个旋转文件处理器,设置日志文件的最大字节数为2000字节,并保留5个备份文件。...("模块中的除零错误", exc_info=True) # 调用模块函数 some_function() 在这个示例中,为某个模块创建了独立的日志器,并记录了模块中的日志信息。

32310

项目创建(代码规范)

模块导入 python中模块的导入要用到import函数,若要导入自定的模块,若导入模块与运行文件在同一目录下,则直接输入导入模块的名字即可。若不在同一目录,则需要写出相对路径。...模块可以看做是类和函数的集合。 查看模块搜索路径–sys.path 包 为了python应用更具扩展性,我们可以多个模块组织成文件层次,这就产生了包。...在对模块打包后再调用模块时,一般要输入: import package.module names 包的出现使得在创建模块时名字的冲突问题得以解决。...这也避免了我们在调用该模块时自动运行该模块的主程序的问题。 logging程序日志模块 python的logging模块提供方法可以让我们使用程序日志logging功能。...(level=logging.DEBUG)来只显示不低于DEBUG层级的信息(如果设置为最高层级,那么就不会输出日志文件) 可以通过logging.disable(level)停用level以下的所有层级

39420

python3 logging模块

()函数中可通过具体参数来更改logging模块默认行为,可用参数有 filename:用指定的文件创建FiledHandler(后边会具体讲解handler的概念),这样日志会被存储在指定的文件中。...,可能没有 %(filename)s 调用日志输出函数的模块的文件名 %(module)s 调用日志输出函数的模块名 %(funcName)s 调用日志输出函数函数名 %(lineno)d 调用日志输出函数的语句所在的代码行...它的构造函数是: FileHandler(filename[,mode]) filename是文件名,必须指定一个文件名。 mode是文件的打开方式。参见Python内置函数open()的用法。...maxBytes用于指定日志文件的最大文件大小。如果maxBytes为0,意味着日志文件可以无限大,这时上面描述的重命名过程就不会发生。 backupCount用于指定保留的备份文件的个数。...,而是间隔一定时间就 自动创建新的日志文件

1.4K100
领券