python3 logging模块中文乱码_Python logging模块写入中文出现乱码

Python logging模块写入中文出现乱码

一下文件执行将产生乱码,切.log文件显示问好,打不开

import logging

def shop_logging(name):

name = name+"登录成功!"

logger = logging.getLogger()

fh = logging.FileHandler("test.log")

formatter = logging.Formatter("%(asctime)s - %(name)s-%(levelname)s %(message)s")

fh.setFormatter(formatter)

logger.addHandler(fh)

logger.setLevel(logging.DEBUG)

logger.info(name)

shop_logging("auxc")

经发现,是没有定义文件格式,修复后

import logging

def shop_logging(name):

name = name+"登录成功!"

logger = logging.getLogger()

fh = logging.FileHandler("test.log",encoding="utf-8",mode="a")

formatter = logging.Formatter("%(asctime)s - %(name)s-%(levelname)s %(message)s")

fh.setFormatter(formatter)

logger.addHandler(fh)

logger.setLevel(logging.DEBUG)

logger.info(name)

shop_logging("auxc")

加上 encoding="utf-8",mode="a" 完美解决中文乱码的问题

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

时间: 2020-05-19

logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等. 其主要优点如下: 1.可以通过设置不同的日志等级,在release版本中只输出重要信息,而不必显示大量的调试信息: 2.尤其是代码运行在服务器上,当出现问题时可以通过查看日志进行分析. logging模块基本使用: 设置logger名称 logger = logging.getLogger(log_name) 设置log级别 logger.setLevel(logging

问题描述: 在pyhton脚本中logging.info("hello world")希望输出'hello world',但是在终端没有输出 解决方法: 在文件开始的地方添加以下内容: logging.getLogger().setLevel(logging.INFO) 补充知识:引用slf4j中Logger.info只打印出文字没有数据 引的是 slf4j 包 import org.slf4j.Logger; import org.slf4j.LoggerFactory; priva

作用: 主要记录信息,便于定位查看问题. python logging模块官网: https://docs.python.org/zh-cn/3.7/library/logging.html#formatter-objects 三种定位问题方法: print debug调试:代码写好后,就不需要再进行调试了,所以引入了logger logging.debug() – 一般在测试环境中用 logger:当生产环境中有问题时,可以查看logger定位问题 步骤: 1.初始化日志 收集器 2.设置日志

查找了很多资料,但网上给出的教程都是大同小异的,而我想将代码进一步精简,解耦,想实现如下两个目标 1. 将logging模块的初始化,配置,设置等代码封装到一个模块中: 2. 能根据配置切换logging.level, 网上给出的教程都是写死的,如果我在线上之前使用了logging.info(msg),现在想切换为logging.debug(msg)怎么办?需要能够根据配置文件中的 设置配置logging.level 两个文件: logging_class:将logging模块的初始化,配置,设

python的logging模块 python提供了一个日志处理的模块,那就是logging. 导入logging模块使用以下命令: import logging logging模块的用法: 1.简单的将日志打印到屏幕上 import logging logging.debug("This is debug message") logging.info("This is info message") logging.warning("This is war

替换print?print怎么了? print 可能是所有学习Python语言的人第一个接触的东西.它最主要的功能就是往控制台 打印一段信息,像这样: 复制代码 代码如下: print 'Hello, logging!' print也是绝大多数人用来调试自己的程序用的最多的东西,就像写js使用 console.log 一样那么自然.很多刚刚开始学习Python的新手甚至有一定经验的老手,都在使用print 来调试他们的代码. 比如这是一个我写的输出 斐波那契数列 的小程序,让我们来看看它的代码:

学一门新技术或者新语言,我们都要首先学会如何去适应这们新技术,其中在适应过程中,我们必须得学习如何调试程序并打出相应的log信息来,正所谓"只要log打的好,没有bug解不了",在我们熟知的一些信息技术中,log4xxx系列以及开发Android app时的android.util.Log包等等都是为了开发者更好的得到log信息服务的.在Python这门语言中,我们同样可以根据自己的程序需要打出log. log信息不同于使用打桩法打印一定的标记信息,log可以根据程序需要而分出不同的l

前言 Java 中最通用的日志模块莫过于 Log4j 了,在 python 中,也自带了 logging 模块,该模块的用法其实和 Log4j 类似.日志是记录操作的一种好方式.但是日志,基本都是基于文件的,也就是要写到磁盘上的.这时候,磁盘将会成为一个性能瓶颈.对于普通的服务器硬盘(机械磁盘,非固态硬盘),Python日志的性能瓶颈是多少呢?今天我们就来测一下.下面话不多说,来一起看看详细的介绍: 测试代码如下: #! /usr/bin/env python #coding=utf-8 # =

首先介绍下怎么发现的吧, 线上的项目日志是通过 logging 模块打到 syslog 里, 跑了一段时间后发现 syslog 的 UDP 连接超过了 8W, 没错是 8 W. 主要是 logging 模块用的不对 我们之前有这么一个需求, 就是针对每一个连接日志输出当前连接的信息, 所以每一个 连接就创建了一个日志实例, 并分配一个 Formatter, 创建日志实例为了区分其他连接 所以我就简单粗暴的用了当前对象的 id 来作为日志名称: import logging class Conne

简单使用 最开始,我们用最短的代码体验一下logging的基本功能. import logging logger = logging.getLogger() logging.basicConfig() logger.setLevel('DEBUG') logger.debug('logsomething') #输出 out>>DEBG:root:logsomething 第一步,通过logging.getLogger函数,获取一个loger对象,但这个对象暂时是无法使用的. 第二步,loggi

简介 Python中的select模块专注于I/O多路复用,提供了select  poll  epoll三个方法(其中后两个在Linux中可用,windows仅支持select),另外也提供了kqueue方法(freeBSD系统) select方法 进程指定内核监听哪些文件描述符(最多监听1024个fd)的哪些事件,当没有文件描述符事件发生时,进程被阻塞:当一个或者多个文件描述符事件发生时,进程被唤醒. 当我们调用select()时: 1.上下文切换转换为内核态 2.将fd从用户空间复制到内核空

python简述: Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.自从20世纪90年代初Python语言诞生至今,它逐渐被广泛应用于处理系统管理任务和Web编程.Python[1]已经成为最受欢迎的程序设计语言之一.2011年1月,它被TIOBE编程语言排行榜评为2010年度语言.自从2004年以后,python的使用率是呈线性增长. tkinter模块介绍 tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口.Tk和Tkinter可以

hashlib hashlib主要提供字符加密功能,将md5和sha模块整合到了一起,支持md5,sha1, sha224, sha256, sha384, sha512等算法 hashlib模块 #哈希算法也叫摘要算法,相同的数据始终得到相同的输出,不同的数据得到不同的输出. #(1)哈希将不可变的任意长度的数据,变成具有固定长度的唯一值 #(2)字典的键值对映射关系是通过哈希计算的,哈希存储的数据是散列(无序) # 应用场景:在需要效验功能时使用  用户密码的 => 加密,解密  相关效验的

logging模块介绍 Python的logging模块提供了通用的日志系统,熟练使用logging模块可以方便开发者开发第三方模块或者是自己的Python应用.同样这个模块提供不同的日志级别,并可以采用不同的方式记录日志,比如文件,HTTP.GET/POST,SMTP,Socket等,甚至可以自己实现具体的日志记录方式.下文我将主要介绍如何使用文件方式记录log. logging模块包括logger,handler,filter,formatter这四个基本概念. logging模块与log4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值