当前位置: 首页 > 知识库问答 >
问题:

在Python中为同一模块中的不同输出创建多个记录器

东明德
2023-03-14

所以我想在同一个模块中创建多个记录器

log = logging.getLogger('FirstLogger')
plog = logging.getLogger('SecondLogger')

并且我想分别配置每个记录器。

def init_logger(logger, fmode, cmode)
log = logging.getLogger('FirstLogger')
init_logger(log,logging.DEBUG,logging.INFO)

plog = logging.getLogger('SecondLogger')
init_logger(plog,logging.INFO,logging.INFO)
flog = logging.FileHandler(logfile)
flog.setLevel(fmode)
flog.setFormatter(...)

console = logging.StreamHandler()
console.setLevel(cmode)
console.setFormatter(...)

log.addhandler(flog)
log.addHandler(console)

共有1个答案

冀翰翮
2023-03-14

您将文件处理程序的级别设置为调试,但不将记录器本身的级别设置为调试

log.setLevel(min(cmode, fmode))
 类似资料:
  • null 最终产品应该如下所示: 在上面的例子中,@public instance将只有uniqueKey、gtin、printedGtin作为属性。

  • 问题内容: 我想在我的应用程序中使用两个不同的记录器,并且在他们向其尊重日志中写入的内容之间没有“重叠”。 例如: Logger1写入与一组系统事件相关的INFO事件 Logger2写入与另一组系统事件有关的INFO事件 两次不应在日志中出现任何条目 我的log4j.properties如下: 我的Java代码如下: 但是我的控制台输出如下: 注意,“ xdas”由和同时记录,这是不希望的。 有谁

  • 问题内容: 我有非常简单的案例,可以将要完成的工作分解并分配给工人。我从这里尝试了一个非常简单的多处理示例: 上面的程序产生以下输出: 为什么要打印相同的随机数?(我的机器上有4个CPU)。这是最好/最简单的方法吗? 问题答案: 我认为您需要在函数中使用numpy.random.seed重新设置随机数生成器。 我的猜测是,当您导入模块时,随机数生成器(RNG)会被植入种子。然后,当您使用多处理时,

  • 问题内容: 我正在尝试为不同的软件包设置单独的日志文件。我正在使用Wrapper类作为记录器。我的应用程序中的每个类都调用相同的包装器类。我的包装器类: 它的名称如下: 有没有一种方法可以配置log4j,以便将不同包的日志记录输出到不同文件? 谢谢! 编辑: 这是我的文件: 问题答案: 如果在MyLogger类中创建静态Logger,则您将有一个Logger实例,其名称设置为MyLogger。当您

  • 如何在SL4J中配置日志记录?我的项目有很多类:class1、class2、Class3....我想做两件事:将所有类记录到一个名为FILE1的文件追加器中,并具有警告级别(class1、class2、class3...)将一个名为class1的类记录到具有调试级别的名为FILE2的文件追加器中。 问题是,当我将class1的记录器配置为具有WARN级别的FILE1 appender时,我不知道如

  • 问题内容: 我的python以某种方式无法在同一目录中找到任何模块。我究竟做错了什么?(python2.7) 所以我有一个目录“ 2014_07_13_test”,其中有两个文件: test.py 你好 在hello.py: 和test.py: 还是python给我 怎么了? 问题答案: 您的代码很好,我怀疑您的问题是如何启动它。 您需要从“ 2014_07_13_test”目录启动python。