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

如何使用logging.config.dictConfig()设置具有不同设置的多个记录器

logging.config.dictConfig()是Python中用于配置日志记录器的方法之一。它允许我们使用字典来配置多个具有不同设置的记录器。

具体步骤如下:

  1. 导入必要的模块:
代码语言:txt
复制
import logging
import logging.config
  1. 创建一个字典来配置记录器。字典的键是记录器的名称,值是一个包含记录器配置的字典。每个记录器配置字典包含以下键值对:
    • "level":记录器的日志级别,可以是"DEBUG"、"INFO"、"WARNING"、"ERROR"或"CRITICAL"。
    • "handlers":记录器使用的处理器列表。
    • "propagate":指定是否将日志消息传递给父记录器。
    • 例如,我们创建两个记录器,一个用于输出到控制台,另一个用于输出到文件:
代码语言:txt
复制
loggers = {
    "console_logger": {
        "level": "DEBUG",
        "handlers": ["console_handler"],
        "propagate": False
    },
    "file_logger": {
        "level": "INFO",
        "handlers": ["file_handler"],
        "propagate": False
    }
}
  1. 创建处理器。处理器定义了日志消息的输出方式。可以使用不同的处理器来满足不同的需求。例如,我们创建一个输出到控制台的处理器和一个输出到文件的处理器:
代码语言:txt
复制
handlers = {
    "console_handler": {
        "class": "logging.StreamHandler",
        "level": "DEBUG",
        "formatter": "console_formatter",
        "stream": "ext://sys.stdout"
    },
    "file_handler": {
        "class": "logging.FileHandler",
        "level": "INFO",
        "formatter": "file_formatter",
        "filename": "app.log",
        "mode": "w"
    }
}
  1. 创建格式化器。格式化器定义了日志消息的输出格式。可以根据需要自定义格式。例如,我们创建一个简单的格式化器:
代码语言:txt
复制
formatters = {
    "console_formatter": {
        "format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
    },
    "file_formatter": {
        "format": "%(asctime)s - %(levelname)s - %(message)s"
    }
}
  1. 将配置应用到日志系统:
代码语言:txt
复制
logging.config.dictConfig({
    "version": 1,
    "disable_existing_loggers": False,
    "loggers": loggers,
    "handlers": handlers,
    "formatters": formatters
})

现在,我们已经成功配置了两个具有不同设置的记录器。可以通过名称来获取记录器并开始记录日志了。例如:

代码语言:txt
复制
console_logger = logging.getLogger("console_logger")
file_logger = logging.getLogger("file_logger")

console_logger.debug("This is a debug message")
file_logger.info("This is an info message")

这样,我们就可以使用logging.config.dictConfig()方法来设置具有不同设置的多个记录器了。

腾讯云相关产品推荐:

  • 腾讯云日志服务(CLS):https://cloud.tencent.com/product/cls
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云函数计算(SCF):https://cloud.tencent.com/product/scf
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Mac端设置多个SSH Key以匹配不同账号

之前生成过一个SSH Key用以到东京大学超算电脑端。这次需要通过SSH连接Github下载一些项目文件。不想使用同样信息,所以想在原有Key基础上生成一个新Key。...因为我本身是一个小白,这里只记录我设置第二个SSH Key操作。...检查电脑中现有的SSH公钥信息 ls -al ~/.ssh image.png 而我id_rsa已经连接了东京大学超算中心,所以想要生成一个新公钥。 2....第二种就是通过命令行复制: pbcopy < ~/.ssh/id_rsa.github 将复制得到信息导入Github网站中SSH keys界面。...此外,特别需要注意是,在通过SSH连接Github时尽量不要开启V**,否则可能会出现连接错误情况。

1.6K00

如何给条码设置不同打印数量

我们在制作条码标签时会批量打印,一般会有几种形式:比如流水号条码批量打印,条码重复批量打印,使用数据库内容批量打印和不同条码分别打印不同数量。...首先建立一个Excel文件,将条码标签要打印内容输入到表格中,如下图所示。 01.png 打开条码打印软件,在新建标签上点击设置数据源,选择上面的Excel表格作为数据库。...02.png 使用单行文字工具输入文字,并插入相应数据源字段。 03.png 使用条码工具绘制一个条形码,选择条码类型并插入相应数据源字段。...04.png 点击打印预览,选择从记录字段中读取打印数量,在下拉菜单中选择“打印数量”一项。最终就会按照我们设置打印数量进行打印。...05.png 综上所述就是使用数据库内容来设置打印数量具体操作方法,有需要小伙伴可以下载软件试用。

1.3K20

如何设置根据不同IP地址所在地域访问不同服务?

方案 方案一: 阿里云域名解析时,提供了域名解析业务,针对于不同客户端,解析到不同服务上。...这种方案可以不过多解释,就是浏览器IP不同,解析到服务器不同同一个服务器,所以部署两套不同服务即可。...问题2:我们使用是dockernginx镜像,如何在docker镜像中安装nginx插件。...2.自己构建可使用nginx镜像(目前我使用是这种方法,具体方法后续提供)。 问题3:GeoIP2使用nginx插件,在MaxMind官网提供API提示“警告!...这样中国IP访问是cn文件夹下内容,其他国家访问是根路径下内容。注意这里测试时, 最好使用实际国外IP进行测试,使用V**不会起作用 。

3.8K20

bat批处理命令根据不同操作系统设置不同电源使用方案

序言: 公司最近发现电费高了,经查看原来是有部分同事下班电脑不关……那么问题来了,我们如何通过技术手段来避免这个问题呢?...直接下发策略远程关机是可以,但怕有误伤;准备推送策略让电脑休眠,毕竟能省一点是一点吗,接着发现这得每天推送一次脚本,并且遇到加班同事策略就显得呆板了,无法在错过执行时间后继续运行;又考虑了下,想办法更改终端电源方案...40分钟无人使用进入睡眠状态 3、使用powercfg命令更改xp系统电源方案 目的:主要调整电源方案家用/办公桌计划关闭显示器时间和使计算机进入休眠状态时间。...5、使用批处理文件设置不同系统使用不同命令 @echo off ver|find "5.1" if errorlevel 1 goto win7 if errorlevel 0 goto xp :...6、使用360天擎或者盈高准入推送批处理文件 只要将bat批处理文件推送到对应终端然后执行,这样终端电源计划就被修改了,只要满足条件就会触发。

2.1K10

Python基于yaml文件配置logging日志过程解析

一、使用logging.config.dictConfig()函数读取配置信息,参数是字典类型 with open(file="....、formatter(格式化日志样式)、logger记录器配置 logging.config.dictConfig(config=logging_yaml) # 获取根记录器:配置信息从yaml...2、loggers设置了自定义logger实例,在程序中使用logging.getLogger(“名字与配置文件中logger名字一致且是字符串形式”)函数获取配置文件中logger实例配置信息,...例如打印日志级别、子记录器handler(1:子记录器与根记录器有相同handler时,打印输出日志会出现两遍,2:记录器handler有多个时,而且输出位置相同且class字段相同,也会导致输出两遍...;诸如此问题,将logger记录器propagate属性设置为False,就会禁止将日志消息传递给父级记录器处理程序中)等;root设置了根记录器配置信息,例如打印日志级别、记录器handler

2.6K31

如何使用Cloudera Manager设置使用YARN队列ACL

本文Fayson主要是介绍如何在Cloudera Manager配置YARN队列ACL 内容概述: 1.启用YARNACL 2.创建队列并进行ACL设置 3.队列ACL测试 4.其他问题测试 5....YARN管理员设置,如可执行yarn rmadmin/yarn kill等命令,该值必须配置,否则后续队列相关acl管理员设置无法生效。...报错,说明用户不能往自己没权限队列里提交作业。 3.使用fayson2往root.fayson2队列里提交作业,然后使用fayson1用户kill该作业。...2.这是因为YARN8088界面默认使用是dr.who用户来访问,如果设置了YARNACL,如果想要查看作业详细日志,需要把dr.who用户加入到yarn.admin.acl里。 ?...4.某个用户可以一直kill自己提交作业,即使该用户不在“管理访问控制”用户/组里。 5.一旦用户具有某个队列“管理访问控制”,即使他不在“提交访问控制”里,他依旧可以往该队列提交任务。

5.1K70

Django日志logging设置

一个记录器(Loggers)可以具有多个处理程序(Handlers),并且每个处理程序(Handlers)可以具有不同日志级别。这样,可以根据消息重要性提供不同形式通知。...为什么logger和handler都要设置level?因为一个logger可以有多个handler,且每个handler可以有不同log level。...这样一来,一个logger可以接受一类日志多个级别的信息,并且将不同级别的信息进行不同处理。...为了配置日志记录,您可以使用LOGGING定义日志记录设置字典。这些设置描述了您希望在日志记录设置使用日志记录器,处理程序,过滤器和格式化程序,以及希望这些组件具有的日志级别和其他属性。...禁用记录器与已删除记录器不同记录器仍将存在,但会静默丢弃记录到它所有内容,甚至不会将条目传播到父记录器。因此,您应该非常小心地使用;这可能不是您想要

2.8K20

Windows 平台 Docker Machine 使用 - 如何设置主机

其中有许多原因,可以肯定一点是:我喜欢玩最新技术,甚至帮助构建一两个演示版或一个实验环境。我在Windows上运行我设置,这是我与其他同事们主要区别。像大多数中间件开发人员一样。...以下是使用Docker Machine管理和启动Docker主机最终简短指导。...在开始使用Docker或Docker Machine之前,至少需要完成一件事情。前往获取 WindowsGit (又名msysgit)。他内部有各种有用unix工具,无论如何你都需要它。...它包含以下配置位可供您使用: VirtualBox Docker Windows客户端 先决条件 - 位和片段 由于各种原因,我不喜欢boot2docker安装程序。...现在把这个文件夹添加到PATH中: 设置PATH =%PATH%; C:\ docker 如果你改变你标准PATH环境变量,这可能使你免于大量输入。就是这样。

3.4K100

如何使用流程 中 DataObject 并为流程设置租户

添加 dataObject 首先我们来看下,在流程绘制过程中,如何去添加 dataObject 对象。...这就是 dataObject 使用,其实非常 Easy!dataObject 平时主要可以用来定义一些全局属性。 3. 租户 说到这里,就顺便再来和小伙伴们聊一聊 Flowable 中租户。...租户这个其实好理解,举个栗子: 假设我们现在有 A、B、C、D 四个子系统,四个子系统都要部署同一个名为 leave 流程,如何区分四个不同子系统流程呢?通过租户可以解决这个问题。...我举个简单例子,假设我现在想要根据不同子系统来部署流程,那么我可以按照如下方式来设计接口: @RestController public class ProcessDeployController ...当这个流程图部署成功之后,我们在流程定义表 ACT_RE_PROCDEF 中可以看到刚刚设置租户 ID: 接下来我们需要启动流程实例时候,就不能单纯拿着流程部署 ID 去启动了,还得拿上流程租户

92620

服务器网卡配置_如何设置不同网段访问服务器

配置详解 配置DNS 修改对应网卡DNS配置文件 # vi /etc/resolv.conf 修改以下内容,可以设置多个: nameserver 202.106.0.20 nameserver...NETWORKING=yes(表示系统是否使用网络,一般设置为yes。...如果设为no,则不能使用网络,而且很多系统服务程序将无法启动) HOSTNAME=centos(设置本机主机名,这里设置主机名要和/etc/hosts中设置主机名对应) GATEWAY=192.168.1.1...NETWORK=192.168.1.0 #网卡对应网络地址 ONBOOT=yes #系统启动时是否设置此网络接口,设置为yes时,系统启动时激活此设备 注意:在网卡IP地址对应配置文件中,如果配置是外网网卡对应得配置文件...配置DNS 修改对应网卡DNS配置文件 # vi /etc/resolv.conf 修改以下内容,可以设置多个: nameserver 202.106.0.20 nameserver 114.114.114.114

3.3K30

如何使用腾讯企业邮箱邮箱权限设置功能

为了企业更好对员工邮箱管理以及邮件保密需要,腾讯企业邮箱对邮箱权限设置做了升级,升级后企业邮箱管理员可以通过管理员后台对员工邮箱里面邮件转发以及删除邮件恢复做了限制: 1、新功能:邮箱权限设置功能...描述:新增增值服务功能“邮箱权限设置管理”,支持管理端控制“成员自动转发”和“限制恢复已删除邮件”。...(1)功能入口: 登录管理员后台,在“增值服务”-》“邮箱权限设置”,如下图: image.png 说明:该功能作为增值服务功能,仅收费版管理员可见。...(2)功能说明: 该功能详细设置页面如下图,其中 “邮件自动转发”与“成员可恢复已删除邮件”选项目前系统默认开启,管理员可以选择关闭相关选项,从而禁止全部成员使用自动转发及恢复已删除邮件功能。...image.png 如果管理员关闭了“成员可恢复已删除邮件”,则全部成员在成员邮箱都无法恢复已彻底删除邮件(“删信查询”记录没有恢复已删除邮件入口),如下图: image.png 更多详细信息请关注本专栏

4.8K40

0760-7.0.3-如何使用Cloudera Manager设置使用YARN队列ACL

本文主要讲述如何在CDP DC 7.0.3集群上使用YARN Queue Manager UI来控制队列ACL。...创建队列并进行ACL设置 1.在集群创建下列用户,并配置到不同组。 如下图,用户usera,userb,userc,userd,usere所属组都跟自己同名。...以上测试说明,提交任务用户和拥有该资源池管理权限用户或用户组,拥有对该队列管理权限。 3.再用用户usera提交任务到队列root.userb然后使用用户userb进行kill该任务。 ?...5.一旦用户具有某个队列“Queue Administer ACL”,即使他不在“Submit Administer ACL”里,他依旧可以往该队列提交任务。...多个user或者多个group用逗号分隔。如果只配置group,需要在前面加上空格。

1.9K20

如何设置让我们在Ubuntu 14.04上加密多个Apache虚拟主机证书

本教程将向您展示如何在Ubuntu 14.04服务器中设置来自Let加密 TLS / SSL证书,以保护Apache上多个虚拟主机。 我们还将介绍如何使用cron作业自动执行证书续订过程。...准备 要完成本指南,您需要: 一台已经设置好可以使用sudo命令非root账号Ubuntu 14.04 服务器,并且已开启防火墙。...托管多个虚拟主机功能性Apache Web服务器安装 每个虚拟主机都必须在自己独立配置文件中设置,并且可以通过浏览器从外部访问。...虽然可以将多个Let加密证书捆绑在一起,即使域名不同,也建议您为唯一域名创建单独证书。作为一般经验法则,只应将特定域子域捆绑在一起。...结论 在本指南中,我们了解了如何从Let's Encrypt安装免费SSL证书,以保护Apache上多个虚拟主机。我们建议您不时查看官方Let's Encrypt博客以获取重要更新。

1.7K00

如何在CDH中使用HBaseQuotas设置资源请求限制

3.Multiple-Typed Queues: 通过设置多个请求队列,为不同请求划分至不同队列。...在前面的文章中Fayson介绍了《如何在CDH中使用HBaseACLs进行授权》,本篇文章主要介绍如何在CDH中使用HBaseQuotas设置资源请求限制。...quota设置刷新周期,默认为5min,如果需要设置quota及时生效,则将该参数设置小一些。...3.使用admin用户设置test_fayson表每分钟2个请求 该操作是针对表进行设置,限制指定表请求频率或写入流量 hbase(main):005:0> set_quota TYPE => THROTTLE...4.使用admin用户为my_ns_admin设置每分钟3个请求限制 该操作主要是针对NameSpace进行限制,可以设置NameSpace请求数量和写入流量 hbase(main):001:0>

2.3K20

如何使用Anaconda设置机器学习和深度学习Python环境

在本教程中,你将学会如何用Anaconda设置Python机器学习开发环境。 完成本教程后,你将拥有一个Python工作环境,可以让你学习、练习和开发机器学习和深度学习软件。...此步骤假定你具有足够管理权限来在系统上安装软件。 1.双击下载文件。 2.按照安装向导。 ? 安装很顺利应该不会遇到棘手问题 ?...您可以使用conda命令更新特定库; 以下是将scikit-learn更新到最新版本示例。 输入: conda update scikit-learn ?...: 0.18.1 你可以根据需要使用这些命令更新机器学习和SciPy库。...注意:我建议使用Keras进行深度学习,而Keras只需要安装Tnano或TensorFlow中一个。在某些Windows系统上安装TensorFlow可能会出现问题。

5.1K50

Python 日志打印之logging.config.dictConfig使用总结

日志打印之logging.config.dictConfig使用总结 By:授客 #实践环境 WIN 10 Python 3.6.5 #函数说明 logging.config.dictConfig(config...为字典,描述如何配置相应Filter实例。...loggers - 日志记录器,其value值为一个字典,该字典每个键值对都代表一个Handler,键值对中,key代表Handler ID,value为字典,描述如何配置相应Logger实例,包含以下配置...指定该日志记录器使用日志过滤器 handlers (可选). 制定该日志记录器使用日志处理器 root - root logger配置。...默认为False,即使用现有fileConfig()API使用相同语义替换现有配置 disable_existing_loggers - 其value为布尔值,表示是否禁用现有日志记录器(root logger

3.8K30

如何在ubuntu18.04中设置使用中文输入法使用

ubuntu 在最新版本中已经可以不用用户自己单独去下载中文输入法使用了,本次使用为 ubuntu18.04LTS版本(登陆是界面选择是ubuntu on wayland),设置方式非常简单 1、打开设置...,不知道请点击右上角工具栏即可看到。...2、找到设置中语言项,点击语言安装管理,安装中文语言后选择输入方式。 ? ? 点击关闭,然后添加输入语言,在其中找到中文拼音添加即可 ? ? ? ?...可以看到中文输入法已经存在了,点击选择即可使用了,输入法看上去停像 sunpinyin,不管它了。如果要使用搜狗的话选择输入方式时请选择 XIM 方式。...以上就是本文全部内容,希望对大家学习有所帮助。

3.2K21
领券