应用办法
装置
<code class="shell">pip install colorful-logger
应用
能够间接应用默认的logger
实例输入日志,默认的日志等级是warning
:
from colorful_logger.logger import logger logger.debug("This is a debug message.") logger.info("This is a info message.") logger.warning("This is a warning message.") logger.error("This is a error message.") logger.fatal("This is a fatal message.")
也能够自定义日志等级,保留日志到文件:
import logging from colorful_logger.logger import get_logger # name 参数没有什么用,不须要传此参数,因为以后的日志不输入 name 字段 logger = get_logger(name="logger", level=logging.DEBUG, file_path="./test.log") logger.debug("This is a debug message.") logger.info("This is a info message.") logger.warning("This is a warning message.") logger.error("This is a error message.") logger.fatal("This is a fatal message.")
日志文件./test.log
内容
[DEBUG] 2021-05-21 15:08:42 test.py:8 - This is a debug message. [INFO] 2021-05-21 15:08:42 test.py:9 - This is a info message. [WARNING] 2021-05-21 15:08:42 test.py:10 - This is a warning message. [ERROR] 2021-05-21 15:08:42 test.py:11 - This is a error message. [CRITICAL] 2021-05-21 15:08:42 test.py:12 - This is a fatal message.
输入到文件的日志没有应用黑白格局,因为我集体感觉,保留到文件中的日志没有必要是黑白的。
FATAL
或CRITICAL
本就是影响程序运行的严重错误,而 python 默认的日志管理器中此办法与其余办法没有什么区别,这让我感觉莫名其妙,在本包中,我在fatal
办法中退出了sys.exit(1)
用来退出程序。如果在程序呈现严重错误时不想退出程序,能够调用critical
办法。
自定义 logger
get_logger
办法:
def get_logger( name: Optional[str] = None, level: str = logging.WARNING, show: bool = True, file_path: Optional[str] = None, ) -> Logger: ...
- name 对我来说没有用,当前可能会删除此参数
- level 日志等级
- show 是否在终端中显示。如果你想用此黑白日志包的话,通常是想在终端显示的吧
- file_path 是否保留到文件。默认是
None
,当其不是None
时,会保留到对应的文件中
TODO
- [ ] 改为异步日志,毕竟退出色调后可能会影响整个程序的性能
- [ ] 改写保留文件的 formatter,使
fatal
日志和critical
日志离开,一个退出程序,一个不退出程序