热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PythonloggingFileHandler写emoji报错

代码

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import logging

from logging import config



LOGGING_COnFIG= {

        "version": 1,

        "formatters": {

            "default": {

                'format': '%(asctime)19.19s %(levelname)1.1s %(message)s',

            },

            "file": {

                'format': '%(asctime)19.19s %(filename)s %(lineno)s %(levelname)1.1s %(message)s',

            },

            "plain": {

                "format": "%(message)s",

            },

        },

        "handlers": {

            "console": {

                "class": "logging.StreamHandler",

                "level": "INFO",

                "formatter": "default",

            },



            "file": {

                "class": "logging.FileHandler",

                "level": 20,

                "filename": "./log.txt",

                "formatter": "default",

            },

            "rotate_file": {

                "class": "logging.handlers.RotatingFileHandler",

                "level": 20,

                "filename": "./log.txt",

                "formatter": "default",

                "maxBytes": 52428800,

                "backupCount": 7,

            }

        },

        "loggers": {



            "tmp": {

                "handlers": ["console", "rotate_file"],

                "level": "INFO",

                "propagate": False,

            },



        },

        "disable_existing_loggers": True,

    }



config.dictConfig(LOGGING_CONFIG)

logger = logging.getLogger("tmp")





logger.info("吃\ud83d\udc3a")

报错信息

1
2
3
4
5
6
7
8
9
10
11
2021-02-28 22:35:55 I 吃\ud83d\udc3a

--- Logging error ---

Traceback (most recent call last):

  File "/home/vagrant/.pyenv/versions/3.6.9/lib/python3.6/logging/__init__.py", line 996, in emit

    stream.write(msg)

UnicodeEncodeError: 'utf-8' codec can't encode characters in position 23-24: surrogates not allowed

Call stack:

  File "/home/vagrant/code/xxx/tmp.py", line 55, in

    logger.info("吃\ud83d\udc3a")

Message: '吃\ud83d\udc3a'

Arguments: ()

这种问题怎么 fix 呀?

这难道不是只要 encode 一下就好了吗 ... 最后一行改成下面样子 ...

logger.info("吃\ud83d\udc3a".encode('unicode-escape'))


推荐阅读
  • 使用freemaker生成Java代码的步骤及示例代码
    本文介绍了使用freemaker这个jar包生成Java代码的步骤,通过提前编辑好的模板,可以避免写重复代码。首先需要在springboot的pom.xml文件中加入freemaker的依赖包。然后编写模板,定义要生成的Java类的属性和方法。最后编写生成代码的类,通过加载模板文件和数据模型,生成Java代码文件。本文提供了示例代码,并展示了文件目录结构。 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • ubuntu用sqoop将数据从hive导入mysql时,命令: ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • web.py开发web 第八章 Formalchemy 服务端验证方法
    本文介绍了在web.py开发中使用Formalchemy进行服务端表单数据验证的方法。以User表单为例,详细说明了对各字段的验证要求,包括必填、长度限制、唯一性等。同时介绍了如何自定义验证方法来实现验证唯一性和两个密码是否相等的功能。该文提供了相关代码示例。 ... [详细]
  • 本文介绍了使用Python解析C语言结构体的方法,包括定义基本类型和结构体类型的字典,并提供了一个示例代码,展示了如何解析C语言结构体。 ... [详细]
  • 本文介绍了在Python中使用zlib模块进行字符串的压缩与解压缩的方法,并探讨了其在内存优化方面的应用。通过压缩存储URL等长字符串,可以大大降低内存消耗,虽然处理时间会增加,但是整体效果显著。同时,给出了参考链接,供进一步学习和应用。 ... [详细]
  • 本文介绍了解决java开源项目apache commons email简单使用报错的方法,包括使用正确的JAR包和正确的代码配置,以及相关参数的设置。详细介绍了如何使用apache commons email发送邮件。 ... [详细]
  • 简述自己封装一个EditText(实际上只是在EditText内部添加了一个TextWatcher),监听文本改变,将其中 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • 本文介绍了如何使用python从列表中删除所有的零,并将结果以列表形式输出,同时提供了示例格式。 ... [详细]
  • Question该提问来源于开源项目:react-native-device-info/react-native-device-info ... [详细]
  • java的流分两大类,字节流和字符流。一般在cc++中,一个字节是8位,java也是一样。但是,在cc++中一个字符,即char一般也是8位(可能机器不同会有所不同),但java为 ... [详细]
  • 里加|此功能_Vagrant定制个性化CentOS7模板
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Vagrant定制个性化CentOS7模板相关的知识,希望对你有一定的参考价值。 ... [详细]
author-avatar
陈柏菱皇君怡惠
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有