为日志添加颜色和格式

plogs的Python项目详细描述


扑通一声-漂亮的圆木

项目目标

最初,漂亮日志的目标是创建一个为可伸缩项目设计的彩色日志系统。后来, 我对漂亮日志的愿景在范围上有所扩展,包括在javascript和 在python中不是很容易得到。

在将来,我们希望能够更好地控制日志设置的配置和调试日志级别,其中调试工具 只能打印到。

安装

你可以通过pip安装漂亮的日志。pypi link

$ pip install --upgrade plogs

设置

将漂亮的日志导入到项目中非常简单。所需的只是导入plogs并实例化logger的实例。

fromplogsimportget_loggerlogging=get_logger()

建议在项目根级别的__init__.py文件中执行以下步骤,以便可以在整个应用程序中引用漂亮的日志。

带有颜色的日志

漂亮日志的主要特点是对不同的日志级别和状态进行颜色编码。默认日志记录级别设置为:

Log LevelColor
logging.infogray
logging.statusbold
logging.successgreen
logging.warningorange
logging.errorred
logging.criticalred highlights

登录到文件

漂亮的日志可以将彩色日志写入文件。这是通过漂亮的logs'config函数完成的。

fromplogsimportget_loggerlogging=get_logger()logging.config(to_file=True)logging.info('this is will be written to a file')

默认情况下,文件被写入/var/log/plogs/plog_01.log/var/log/被选为默认目录,因为它通常用于基于unix的计算机和 Docker图像服务。

如果要使用其他文件名和位置,只需对其进行如下编辑即可:

logging.config(to_file=True,file_location='your/filepath/here/',filename='new_file.log')

注意:建议使用less终端命令查看彩色日志-如果less不起默认作用,则less -r值得尝试。还有,漂亮的圆木 不是为了在vim、atom、sublime和其他流行的文本编辑器中显示彩色文件而设计的。

格式化日志

漂亮的日志允许很多定制。定制日志是通过编辑日志config并提供格式化字符串的漂亮日志来完成的。

以下是所有可配置变量:

VariableTypeFormat KeywordDescription
^{}^{}^{}Setting to ^{} will add color to logs, ^{} will un-color logs
^{}^{}^{}Setting to ^{} will show logging level in formatted log, ^{} show no logging level
^{}^{}^{}Setting to ^{} will show time in formatted log, ^{} doesn't show time
^{}^{}^{}Setting to ^{} writes logs to ^{}, ^{} writes to ^{}
^{}^{}^{}Default ^{} is ^{}, otherwise a file location of your choice
^{}^{}^{}Default log file is ^{}, otherwise a filename of your choice
^{}^{}^{}Shows the log message in formatted log

格式化日志的示例如下:

fromplogsimportget_loggerlogging=get_logger()# configure plogs to allow logging level and date/timelogging.config(show_levels=True,show_time=True)# config logs with the `{level}` keyword to show the logging level,# `{time}` to show the date & time of when the log was written# and `{msg} to show the logging messagelogging.format('[{level}] - {time} - {msg}')# finally write logslogging.status('Show me the logs')logging.info('We got some info')# Output:# [STATUS] - 2018-12-11 11:56:05 - Show me the logs# [INFO] - 2018-12-11 11:56:09 - We got some info

注意:为了格式化漂亮的日志,您必须将要写入的变量放入{}-例如:{filename}{file_location}{levels}等。 这些值将替换为它们所表示的变量

我该怎么做?

如果你想贡献自己,可以查看how to contribute doc

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在用户输入的基础上使用applet绘制线条?在g为null的状态下发生的错误,如何修复   java频率源   java无法单击使用Selenium WebDriver创建的<div>下拉列表   java Wildfly 15在不同的机器上运行时不创建集群   Java:比较3个数字。得到他们中最伟大的   java与Maven/Hudson和TestNG一起使用多个类   java发生JNI错误(jdeveloper12c)   java在现实生活中同步多线程程序中的方法有什么意义   java Glassfish嵌入式JNDI模块范围查找   windows使用WMIC优雅地杀死Java进程   午夜(上午12点)java更新小部件失败   java无法解析方法“registerListener(com.xxx.xxx.MainActivity,安卓.hardware.SensorManager,int)”   java Hibernate版本属性在更改时调用自动更新?   java创建新线程是否会产生刷新缓存的副作用?   java saveAsTextFile性能改进   java如何自动化新的Facebook注册弹出窗口?   来自现有RDD的java Spark流媒体   AES256 OpenSSL C++和java加密:解密时的BADPADION异常