Django学习
1.日志
日志十一个非常重要的工具,可以在运行时发现系统的错误。根据参考资料,我创建了自己的logger配置文件
1 | # 创建日志文件夹路径 |
基本元素说明:
Logger:用于输出的日志的总对象
Handlers:用来指定log的输出方式
Formatters:设置日志信息的结构和内容格式,默认的时间格式为%Y-%m-%d %H:%M:%S
Filter:过滤器,用来过滤的输出内容(如:只输出debug以上的内容)
我这上面只用到了Formatters、Handlers和Logger。Formatter定义了日志的记录格式,Handlers定义了日志输出时的处理器,而logger则定义了如何输出日志,比如上面的django,就是将django相关的日志输出到console和default定义的handlers中,也就是控制台和文件中,日志的级别时ERROR级别。同理,我说明我在loggers中定义的logger使用方法。
1 | # 导入logging库 |
执行上面的代码,错误日志就会被同时输出到控制台,并在文件中记录。可以多处调用logger.error或者时logger.info
如果loggers中和Handlers中都定义了日志级别,怎么处理呢?官方有这么段话
When a message is given to the logger, the log level of the message is compared to the log level of the logger. If the log level of the message meets or exceeds the log level of the logger itself, the message will undergo further processing. If it doesn’t, the message will be ignored.
Once a logger has determined that a message needs to be processed, it is passed to a Handler.
只有达到了Loggers中定义的级别,才能够继续被Handlers处理。
1.Django 日志 (刘江的博客,是个系列教程,从环境搭建到日志模板,直到最后的实战项目,一整套的都有,如果有时间,可以仔细的品尝。这里使用了logger = logging.getLogger(name)获取日志对象,可以用来进行日志输出,但是好像是不对的。我用了getLogger(“[具体的settings.py中的loggers指定的名字]”)这种方式)
2.Django配置日志输出、logging配置最详细大全、控制台日志全部输出到文件、日志/控制台console重定向到文件 (我是用了其中的日志配置文件,但是print没有重定向到日志文件中)
3.14.7 捕获所有异常
4.Django写入日志 (我结合了参考文章2和这篇文章,配置了自己的日志记录的配置类)
5.python(logging )日志模块学习 (对于各种配置给与了相应的说明)
6.Logging (官方说明)