登录 Python 脚本不起作用:导致日志文件为空

2023-12-15

我有一个具有日志记录功能的脚本,但它停止工作(日志记录,而不是脚本)。我写了一个小例子来说明这个问题:

import logging
from os import remove
from os.path import exists


def setup_logger(logger_name, log_file, level=logging.WARNING):
    # Erase log if already exists
    if exists(log_file):
        remove(log_file)
    # Configure log file
    l = logging.getLogger(logger_name)
    formatter = logging.Formatter('%(message)s')
    fileHandler = logging.FileHandler(log_file, mode='w')
    fileHandler.setFormatter(formatter)
    streamHandler = logging.StreamHandler()
    streamHandler.setFormatter(formatter)
    l.setLevel(level)
    l.addHandler(fileHandler)
    l.addHandler(streamHandler)


if __name__ == '__main__':
    setup_logger('log_pl', '/home/myuser/test.log')
    log_pl = logging.getLogger('log_pl')
    log_pl.info('TEST')
    log_pl.debug('TEST')

在脚本末尾,创建了文件 test.log,但它是空的。

我缺少什么?


Your setup_logger函数指定(默认)级别WARNING

def setup_logger(logger_name, log_file, level=logging.WARNING):

...并且您稍后记录了两个级别低于WARNING,并且被忽略,因为它们应该是:

log_pl.info('TEST')
log_pl.debug('TEST')

如果您更改调用您的代码setup_logger函数:

if __name__ == '__main__':
    setup_logger('log_pl', '/home/myuser/test.log', logging.DEBUG)

...我希望它能按您的意愿工作。

See the 简单的例子在日志记录 HOWTO 页面中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

登录 Python 脚本不起作用:导致日志文件为空 的相关文章

  • 如何将base64字符串直接解码为二进制音频格式

    音频文件通过 API 发送给我们 该文件是 Base64 编码的 PCM 格式 我需要将其转换为 PCM 然后再转换为 WAV 进行处理 我能够使用以下代码解码 gt 保存到 pcm gt 从 pcm 读取 gt 保存为 wav decod
  • JavaScript 相当于 Python 的参数化 string.format() 函数

    这是 Python 示例 gt gt gt Coordinates latitude longitude format latitude 37 24N longitude 115 81W Coordinates 37 24N 115 81W
  • boto3 资源(例如 DynamoDB.Table)的类型注释

    The boto3库提供了几种返回资源的工厂方法 例如 dynamo boto3 resource dynamodb Table os environ DYNAMODB TABLE 我想注释这些资源 以便我可以获得更好的类型检查和完成 但我
  • for 循环如何评估其参数

    我的问题很简单 Does a for循环评估它每次使用的参数 Such as for i in range 300 python 是否会为此循环的每次迭代创建一个包含 300 个项目的列表 如果是的话 这是避免这种情况的方法吗 lst ra
  • 在 git 中记录前 10 个

    两个问题 如何从头到尾显示 git 中的前 10 个提交 无分行 如何指定提交索引并记录它 显示第二个或第三个 我知道 git 使用父级来链接提交 很容易从头到尾记录提交 喜欢 git log HEAD 10 但我需要从头到尾查询 可以吗
  • Python从int到string的快速转换

    我正在用 python 求解大量阶乘 并发现当我完成计算阶乘时 需要相同的时间才能转换为字符串以保存到文件中 我试图找到一种将 int 转换为字符串的快速方法 我将举一个计算和 int 转换时间的例子 我正在使用通用的 a str a 但感
  • 希伯来语中的稀疏句子标记化错误

    尝试对希伯来语使用稀疏句子标记 import spacy nlp spacy load he doc nlp text sents list doc sents I get Warning no model found for he Onl
  • 如何使用显式引用转储 YAML?

    递归引用非常适合ruamel yaml or pyyaml ruamel yaml dump ruamel yaml load A A id001 id001 然而 它 显然 不适用于普通引用 ruamel yaml dump ruamel
  • Tweepy StreamListener 到 CSV

    我是 python 新手 我正在尝试开发一个应用程序 使用 Tweepy 和 Streaming API 从 Twitter 检索数据并将数据转换为 CSV 文件 问题是此代码不会创建输出 CSV 文件 也许是因为我应该将代码设置为在实现例
  • 当我在 Pandas 中使用 df.corr 时,我的一些列丢失了

    这是我的代码 import numpy as np import pandas as pd import seaborn as sns import matplotlib pyplot as plt data pd read csv dea
  • 根据开始列和结束列扩展数据框(速度)

    我有一个pandas DataFrame含有start and end列 加上几个附加列 我想将此数据框扩展为一个时间序列 从start值并结束于end值 但复制我的其他专栏 到目前为止 我想出了以下内容 import pandas as
  • numpy 使用 datetime64 进行数字化

    我似乎无法让 numpy digitize 与 datetime64 一起使用 date bins np array np datetime64 datetime datetime 2014 n 1 s for n in range 1 1
  • python 中的 Johansen 协整检验

    我找不到任何有关在处理统计和时间序列分析 pandas 和 statsmodel 的 Python 模块中执行 Johansen 协整检验的功能的参考 有谁知道是否有一些代码可以执行时间序列之间的协整测试 现在 这已在 Python 的 s
  • PySide6.1 与 matplotlib 3.4 不兼容

    当我只安装PySide6时 GUI程序运行良好 但是一旦我安装了matplotlib及其依赖包 包括pyqt5 则GUI程序将无法运行并输出以下错误消息 This application failed to start because no
  • 为什么我无法在 Mac OS X Terminal.app 上的 Python 解释器中显示 unicode 字符?

    如果我尝试粘贴 unicode 字符 例如中间的点 在我的 python 解释器中它什么也不做 我在 Mac OS X 上使用 Terminal app 当我只是在 bash 中时 我没有遇到任何问题 但在解释器中 python Pytho
  • 使用 numpy 在 python 中执行最大方差旋转

    我正在研究矩阵的主成分分析 我已经找到了如下所示的组件矩阵 A np array 0 73465832 0 24819766 0 32045055 0 3728976 0 58628043 0 63433607 0 72617152 0 5
  • 由于 json 字符串化 dict 键导致数据丢失

    考虑下面的例子 gt gt gt import json gt gt gt d 0 potato 0 spud gt gt gt json dumps d 0 potato 0 spud gt gt gt json loads json d
  • 如何使用 matplotlib 为圆柱体的每个单独面添加颜色

    我正在尝试为圆柱体的每个面着色 但是我不确定如何进行 我尝试了以下方法 for i in range 10 col append for i in range 10 for j in range 20 col i append plt cm
  • 更改 Python Cmd 模块处理自动完成的方式

    我有一个 Cmd 控制台 设置为自动完成 Magic the Gathering 收藏管理系统的卡牌名称 它使用文本参数在数据库中查询卡片 并使用结果自动完成 建议卡片 然而 这些卡片名称有多个单词 Cmd 会从last到行尾的空间 例如
  • 如何为所有用户安装 Anaconda python?

    Anaconda python 发行版 https store continuum io cshop anaconda 非常方便地部署科学计算环境 SCE 并根据需要切换python版本 默认情况下 安装会将 python 定位到 anac

随机推荐

  • 分散 Flask 模型时,引发 RuntimeError: 'application not Registered on db'

    我正在通过分散模型 蓝图来重构我的 Flask 应用程序 但遇到运行时错误 def create app app flask Flask app app config SQLALCHEMY DATABASE URI sqlite app r
  • 优化 Internet Explorer 11 的滚动速度

    我目前有一个类似议程的应用程序 其中第一列绝对水平 第一行绝对垂直 我通过捕获滚动效果并更改其附加的 CSS 类的 left 或 top 属性来实现此目的 这些课程最多可达 700 个项目 每天 2 年 window scroll func
  • Qt 工作 Windows 8 风格无框自定义窗口

    我最近在我的 Windows 7 机器上安装了适用于 Windows 的 Github 并且喜欢它的自定义框架 它非常适合整个应用程序主题 并且有自己的标题栏按钮 布局非常好 非常流畅 并且工作起来看起来非常自然和 我做了一些挖掘 发现了
  • app_stl 值与静态和共享构建 android 之间的关系

    一直想知道 现在很困惑 当在 Application mk 文件中设置 app stl stlport static 或 stlport shared 时 并且您尝试构建库的共享版本和静态版本 有什么效果 为什么你的 android ndk
  • C/C++ 的 LAPACK 包装器

    我想用Visual Studio 2008 用 C 编程 但也想使用 LAPACK 功能 是否有任何包装器 以便我可以使用LAPACK in Visual Studio 2008 犰狳对我来说效果很好 良好的API 卓越的性能
  • UIGraphicsGetCurrentContext() 生命周期短

    我有一个实现手绘图的视图 但我有一个小问题 我注意到在 iPad 3 上一切都变得一团糟 所以我尝试更新我的绘图代码 可能就像我一开始就应该做的那样 以仅更新被描边的部分 然而 打开后的第一个行程以及闲置约10秒后的第一个行程都非常慢 一切
  • 如何将 .ckpt 文件转换为 .pb

    我在对象检测 API 中使用 ssd mobilenets 来训练我自己的模型 并获取 ckpt 文件 它在我的计算机上运行良好 但现在我想在手机上使用该模型 所以 我需要将其转换为 pb 文件 我不知道该怎么做 有人可以帮忙吗 顺便说一下
  • 尽管 cordova 是最新的,但使用 ionic 创建新应用程序时 Cordova 版本错误

    使用创建新应用程序时出现以下错误ionic 我正在按照标准文档 http ionicframework com getting started gsakhardande gsakhardande PC 桌面 ionic start myAp
  • 在matlab中读取灰度图像[重复]

    这个问题在这里已经有答案了 我有灰度图像 lena bmp 我想使用 imread 函数在 matlab 中读取此图像 当我使用下面的代码来读取和显示图像时 我的图像是暗的 黑色 img imread lena bmp imshow img
  • 在C语言中,如何将整数插入字符串?

    我的代码得到一串字符 例如 aaabbdddd 函数将字母及其出现的次数插入到新字符串中 所以这个特定字符串的输出应该是 a3b2d4 我的问题是如何将数字插入字符串中 我尝试使用 itoa 并将整个字符串转换为单个数字 这是我的代码 de
  • 为什么我不能比较 Exception 对象是否相等?

    SSCCE import java util Objects public class FooMain private static Exception foo try throw new Exception catch Exception
  • strcat 与 char *a[10] 的问题

    include include
  • $Pos from Bottom inside <%循环DataObjects %>

    可以在数据对象上的模板循环内以某种方式判断您是否位于 Pos 24 但从底部开始计数 类似于 do stuff or like do stuff or like do stuff 在 Silverstripe 3 中 能够执行以下操作 He
  • 如何使用 Python Pandas 将 JMP *.jmp 文件读取到 Pandas 数据帧中

    我正在努力读书SAS JMP 文件与熊猫read csv函数进入 Pandas 数据框 有人有处理这种类型的数据文件的经验吗 最有效的方法是什么 这对我有用 其结果有时有点出乎意料 例如 有时我得到没有标题的 CSV 即使在 JMP 中它们
  • 'my/path/to/venv/lib64'' aria-label='函数未实现:'lib' -> 'my/path/to/venv/lib64''> 函数未实现:'lib' -> 'my/path/to/venv/lib64'

    操作系统 Manjaro蟒蛇 3 8 我的计算机上有 2 个分区 一个是安装 Manjaro 的位置 另一个是辅助 SSD 每次当我运行这个命令时virtualenv env在我的辅助 SSD 中 我收到以下错误 OSError Errno
  • 来自串行端口的 Readline 锁定

    我正在尝试从秤 RS232 接口读取数据 它通过串行端口发送连续的 ASCII 字符串流 但我无法获取该字符串流 我只想获取它发出的一行数据 我想我假设我会使用 Readline 来获取数据 但当我运行它时它只会锁定 PC 我认为它正在尝试
  • Pandas 数据框垂直合并

    我有一个关于合并两个数据框的疑问 例如我有 2 个数据框 如下所示 print df1 Year Location 0 2013 america 1 2008 usa 2 2011 asia print df2 Year Location
  • 如何在opencv中的相机流上叠加小动画

    我正在开发一个使用opencv作为我的大学项目的应用程序 它几乎完成了 除了我无法在我的相机流上覆盖动画视频 Flash视频 我想捕获用户的嘴巴 在检测到嘴巴后我想覆盖一个烟雾的动画视频 请问谁能帮我处理重叠部分吗 如果不可能 您能否阐明任
  • 使用视差屏幕

    我想在我的游戏代码中使用 libgdx 来使用视差屏幕 其中屏幕沿 y 方向移动 我的游戏代码给出为 public class ParallaxLayer public TextureRegion region public Vector2
  • 登录 Python 脚本不起作用:导致日志文件为空

    我有一个具有日志记录功能的脚本 但它停止工作 日志记录 而不是脚本 我写了一个小例子来说明这个问题 import logging from os import remove from os path import exists def se