- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为我正在使用 python 3.3.4 和 PyQt4 编写的 GUI 应用程序获取旋转日志文件。
我的主脚本中有以下代码片段:
import logging
import resources
logger = logging.getLogger('main.test')
def main():
logger.setLevel(logging.DEBUG)
fh = RotatingFileHandler(resources.LOG_FILE_PATH, maxBytes=500, backupCount=5)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
logger.addHandler(fh)
logger.info('main')
Traceback (most recent call last):
File "C:\Python33\lib\logging\handlers.py", line 73, in emit
self.doRollover()
File "C:\Python33\lib\logging\handlers.py", line 176, in doRollover
self.rotate(self.baseFilename, dfn)
File "C:\Python33\lib\logging\handlers.py", line 116, in rotate
os.rename(source, dest)
PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\Users\\myuser\\.logtest\\test.log.1'
最佳答案
您可以直接在 basicConfig() 中指定处理程序,而不是向记录器对象添加处理程序。如果将 RotatingFileHandler 添加到记录器对象,则一个对象可能会打开日志文件,同时另一个对象可能会尝试重命名它,从而引发 PermissionError。
下面的代码似乎工作得很好。
import logging
import resources
from logging.handlers import RotatingFileHandler
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', handlers=[RotatingFileHandler(filename=resources.LOG_FILE_PATH, maxBytes=500, backupCount=5)])
logger = logging.getLogger('main.test')
def main():
logger.setLevel(logging.DEBUG)
logger.info('main')
关于python - 使用 python 3.3.4 和 RotatingFileHandler 时的 PermissionError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22459850/
我使用以下代码设置了一个记录器: log = logging.getLogger('base') logfilename = logFile = logging.FileHandler(logfi
Traceback (most recent call last): File "/usr/lib64/python2.6/logging/handlers.py", line 76, in emit
我有一个很好的日志记录设置,可以在文件中创建详细的调试日志,同时将干净的信息日志记录显示到标准输出。我想将旋转日志混合在一起,所以我查看了这个建议:stack post ,(这正是我想要的)。问题是,
我有一个要添加日志记录的分析例程 (python 2.7)。我的目标是将 INFO 消息添加到每个函数的开头和结尾,这样我就可以看到每个函数花费了多长时间。我下面的是一个简化版本。当我运行此示例时,没
考虑以下代码: def setup_logging(logdir=None, scrnlog=True, txtlog=True, loglevel=logging.DEBUG): logdir =
当我在 Python 2.6 下运行以下代码时 import logging from logging.handlers import RotatingFileHandler rfh = Rotati
我正在尝试用 monolog 做一些我不确定是否可行的事情。所以我在想一个实用的方法来组织日志文件。 首先我想有 3 个不同的文件,INFO、WARNING 和 ERROR,但是很难在 de 文件中搜
我正在使用以下模块在我的模块中记录事件。我这样调用它: 模块 1 from tools.debug_logger import debug_logger self.logger = debug_log
我注意到,当我使用 RotatingFileHandler 时,并非所有发送到记录器的事件都会被写入。 如果我更改为 FileHandler,所有内容都会被写入。 如果我像这样设置我的处理程序: cj
PHP 7.1,ubuntu 12.04 LTS,monolog 版本为 1.23.0。 记录器初始化: pushHandler( new RotatingFileHandler(
我正在尝试对 logging 模块的 RotatingFileHandler 进行如下测试: import logging from logging.handlers import RotatingF
我正在寻找一种方法,允许我在午夜 轮换日志,而不是使用maxBytes 参数轮换它们。 到目前为止,日志会在文件达到 10MB 时轮换。 LOG_PATH = os.path.join(APPLICA
简介: base.py: import logging from logging.handlers import TimedRotatingFileHandler import os slogFile
我试图确保日志文件不会超过 1048576 字节。由于 Scrapy 使用 python logging 模块,我试图将 Scrapy 的默认 FileHandler 更改为 RotatingFile
我在我的 Flask 应用程序中使用标准的 RotatingFileHandler,接下来的参数是:maxBytes=10 * 1024 * 1024, backupCount=50。应用程序由 ng
我正在尝试使用 logging.basicConfig 来记录所有内容,并使用 logging.hanlers.RotatingFileHandler 来获取 maxBytes=1000000 和 b
我正在尝试使用 RotatingFileHandler 处理程序来管理 Windows 下运行的 Python 项目的可能较长的日志文件。我发现日志文件轮换在使用 IDLE 解释器(在 Windows
我想更改旋转文件处理程序命名文件的方式。 例如,如果我使用 RotatingFileHandler,它会在日志文件达到特定文件大小时分离日志文件,命名为“日志文件名 + 扩展编号”,如下所示。 fil
我在 linux 系统上使用标准的 python (2.5.2) 日志记录模块,特别是 RotatingFileHandler。我的应用程序同时支持命令行界面和 Web 服务界面。我想让两者都写入同一
我正在尝试对 logging 模块的 RotatingFileHandler 进行如下测试: from logging import getLogger, Formatter from logging
我是一名优秀的程序员,十分优秀!