paip.日志中文编码原理问题本质解决python



默认的python日志编码仅仅gbk...保存utf8字符错误..输出到个eric5的控制台十默认好像十unicode的,要是有没显示出来的字符,大概十字体问题..调整eric5的字体走ok兰.



#调用封装

from log import *

iniLog (r"c:\enPn2atiEnPh.log")      

logx("xxx")



#主要的代码

设置文件编码为utf8

 handler = logging.FileHandler(logfile, "a",

                              encoding = "UTF-8")

设置默认日志文件

iniLog(r"c:\pylog.log")                                 

                              



作者 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax



#所有的代码





import logging

def iniLog(logfile):



    log_format = '%(filename)s [%(asctime)s] [%(levelname)s] %(message)s'  

    #logfile="c:\pythonlog_en2ati.log"

    #jeig bsin cant suport utf encode

    #logging.basicConfig(encode="utf-8" , encoding = "UTF-8", filename=logfile, format=log_format,datefmt='%Y-%m-%d %H:%M:%S %p',level=logging.DEBUG)






#todox jeig support utf8 encode

    handler = logging.FileHandler(logfile, "a",

                              encoding = "UTF-8")

    formatter = logging.Formatter(log_format)

    handler.setFormatter(formatter)

    root_logger = logging.getLogger()

    root_logger.addHandler(handler)

    root_logger.setLevel(logging.INFO)









#encoding = "UTF-8"

    # 定义一个Handler打印INFO及以上级别的日志到sys.stderr  

    console = logging.StreamHandler()  

    console.setLevel(logging.INFO)  

    # 设置日志打印格式  

    formatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s')  

    console.setFormatter(formatter)  

    # 将定义好的console日志handler添加到root logger  

    logging.getLogger('').addHandler(console)  





    logging.info("--start loging")

def xx():

    print("")

def logx(msg):    

    logging.info("\n---"+msg)    

iniLog(r"c:\pylog.log")

paip.日志中文编码原理问题本质解决python的更多相关文章

  1. 转:解决Python中文编码问题

    Python 文本挖掘:解决Python中文编码问题 转于:http://rzcoding.blog.163.com/blog/static/2222810172013101785738166/   ...

  2. Atitit paip.对象方法的实现原理与本质.txt

    Atitit paip.对象方法的实现原理与本质.txt 对象方法是如何实现的1 数组,对象,字典1 对象方法是如何实现的 这显然是一个对象方法调用.但对象方法是如何实现的呢?在静态语言中,因为有编译 ...

  3. atitit.软件与sql设计模式原理与本质 大总结attialx总结v6 qc26.docx

    atitit.软件与sql设计模式原理与本质 大总结attialx总结v6 qc26.docx 1.1. 版本历史2 2. 设计模式是什么2 2.1. 模式就是在一种场合下对某个问题的一个解决方案.& ...

  4. Atitit 函数调用的原理与本质attilax总结 stdcall cdecl区别

    Atitit 函数调用的原理与本质attilax总结 stdcall cdecl区别 通常来说函数调用要用到的两条基本的指令:”CALL”指令和”RET”指令.”CALL”指令将当前的指令指针(这个指 ...

  5. PAIP.MYSQL SLEEP 连接太多解决

    PAIP.MYSQL SLEEP 连接太多解决 作者Attilax  艾龙,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog.csdn.n ...

  6. paip.c3p0 数据库连接池 NullPointerException 的解决...

    paip.c3p0 数据库连接池 NullPointerException 的解决... 程序ide里面运行正常..外面bat运行错误.. 作者Attilax  艾龙,  EMAIL:14665198 ...

  7. paip.java 线程无限wait的解决

    paip.java  线程无限wait的解决 jprofl>threads>thread dump> 查看棉线程执行的code stack... 估计是.比如.BlockingQue ...

  8. paip.输入法英文词库的处理 python 代码 o4

    paip.输入法英文词库的处理 python 代码 o4 目标是eng>>>中文>>atian 当输入非atian词的时候儿,能打印出 atian pinyin > ...

  9. paip.截取字符串byLastDot方法总结uapi python java php c# 总结

    paip.截取字符串byLastDot方法总结uapi python java php c# 总结 ========uapi   left_byLastDot   right_byLastDot 目前 ...

随机推荐

  1. widows下jieba分词的安装

    在切词的时候使用到jieba分词器,安装如下: 切入到结巴包,执行 python setup.py install 安装后,可以直接在代码中引用: import jieba

  2. (九) 一起学 Unix 环境高级编程 (APUE) 之 线程

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

  3. map,list

    ---恢复内容开始--- Map<String, List> map=new HashMap<String,List>() HashMap可以理解成是一对对数据的集合我暂时把L ...

  4. iOS工作笔记(十四)

    1.scrollview的frame指的是其可视范围,contentSize指的是其滚动范围,分别是在水平方向和竖直方向上的 所以要让scrollview在水平方向不能滚动,那么需要如下设置 _scr ...

  5. 设置阿里云maven中央仓库的settings.xml

    本来想找一个可用的设置文件,结果乱七八糟的,干脆自己做了一个,同时还放上了Spring的SNAPSHOT和MILESTONE/RELEASE仓库,希望能帮到一些人. <?xml version= ...

  6. python基础语法(2)

    2. 元组 tuple和list十分相似,但是tuple是不可变的,即不能修改tuple,元组通过圆括号中用逗号分割的项定义:支持索引和切片操作:可以使用 in 查看一个元素是否在tuple中.空元组 ...

  7. Nginx + tornado + supervisor部署

    参考链接:supervisor + Tornado + Nginx 使用详解, 用tornado ,Supervisord ,nginx架网站, tornado官方文档 项目文档树: . ├── ch ...

  8. 自己写ORM框架 SqlHelper_DG C#(java的写在链接里)

    ORM框架想必大家都比较熟知了,即对象关系映射(英语:Object Relation Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同 ...

  9. 斯坦福第十二课:支持向量机(Support Vector Machines)

    12.1  优化目标 12.2  大边界的直观理解 12.3  数学背后的大边界分类(可选) 12.4  核函数 1 12.5  核函数 2 12.6  使用支持向量机 12.1  优化目标 到目前为 ...

  10. 6.5 为什么Android用Java不用c实现?

    C/C++过于底层,开发者要花很多的经历对C/C++的语言研究清楚,例如C/C++的内存机制,如果稍不注意,就会忘了开启或者释放.而Java的GC会自动处理这些,省去了很多的时间让开发者专注于自己的业 ...