顺便说一句,主要脚本有:
import logging, sys
# create logger
logger = logging.getLogger('logger')
logger.setLevel(logging.DEBUG)
# create console handler and set level to debug
fh = logging.FileHandler('process.log')
logger.setLevel(logging.DEBUG)
ch = logging.StreamHandler(sys.stdout)
ch.setLevel(logging.DEBUG)
# create formatter
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s\n')
# add formatter to ch
fh.setFormatter(formatter)
# add ch to logger
logger.addHandler(fh)
logger.addHandler(ch)
我想使用Logger对象并配置这个对象,而不是Logging的BaseConfig。但如果我做不到,其他方法也可以。
如果您这样做:
logger = logging.getLogger('logger')
进入模块A和模块B,那么它们应该可以访问与主文件相同的记录器。从那里,你可以在任何时候设置你想要的任何级别。例如。
# ../module_a.py
import logging
logger = logging.getLogger('logger')
logger.setLevel(whatever) # Now all instances of "logger" will be set to that level.
基本上,记录器是按名称全局注册的,并且可以通过日志模块直接从任何其他模块访问。
问题内容: 我目前正在使用log4j的项目中。我正在运行一个测试用例(junit),并希望将日志级别设置为跟踪,以便我可以查看所有值是否正确。在项目中使用日志记录的类包含如下一行: 并使用类似这样的命令进行实际调试 我以前从未使用过log4j,有人知道我该如何仅为测试用例更改日志级别,最好仅通过在Eclipse的运行配置对话框中定义一个参数即可。 问题答案: 使用另一个配置文件 也许您可以指向另一
我在spring应用程序中使用log4j2作为我的日志工具。我想为特定的库/包设置不同于根目录的日志级别。例如,我希望< code>org.springframework为INFO,而< code>com.google为WARN。我在< code>log4j2.properties中找到了这个: 我不明白是什么意思?我一直在log4j2文档中找到它,但没有解释那是什么或意味着什么。 如何为特定包添
我在我的项目中进行了强制日志记录,并且我很难抑制我不想要的日志记录语句。 还有,我在使用log4j时看不到这些记录器。我正在尝试学习Logback,因为我已经被指派来评估它作为团队可能的升级。
我使用的是WebLogic10.3.6,我不能用给定的logback.xml为2个不同的追加器(com.my&root)控制不同的日志级别,我只希望文件追加器有跟踪级别,而在Weblogic终端下没有任何跟踪级别。问题是我在这两个方面得到相同的输出。
假设您的代码正在使用一个模块,该模块使用来自该模块的的日志语句,而不是来自记录器实例的,并且您没有控制权来修改该模块正在使用中。 是否可以在不要求维护者修改代码的情况下为导入的模块自定义日志级别? 这些问题描述了一种非常简单的方法来更改特定模块的日志记录级别 如何禁用来自请求库的日志消息 Python日志记录-禁用导入模块的日志记录 下面的代码实现了所述的解决方案,只记录来自该模块的错误消息,但它
我正在使用log4j2记录应用程序的事件。然而,我被以下问题所困扰。 当前,所有日志记录消息都被写入到两个不同的附加程序中。一个具有RollingFile类型,而另一个具有Console类型。 编辑: 我看到很多问题,要求只将某个级别的消息写入文件,而将不同级别的消息写入不同文件。在我的情况下,我需要将具有一定级别的更高的消息写入到不同的文件中。例如,在我提供的情况下,带有级别错误或致命的消息将同