一、概述
- 有时候我们认为处理的数据应该是正确的,但是实际上并不正确(例如客户端向服务器发送http请求,但是这个请求存在问题【用户篡改数据导致代码失败】),大部分针对这种情况返回400错误,不会因为这个错误而宕机,应该继续运行。
- 记录发生了什么不正常的事情,此时日志就派上用场了
二、存放目录
工程目录下创建名为logs的目录
三、配置
代码语言:javascript复制<span class="hljs-comment">#日志</span>
<span class="hljs-keyword">import</span> logging
<span class="hljs-keyword">from</span> logging.handlers <span class="hljs-keyword">import</span> RotatingFileHandler
<span class="hljs-comment">#设置日志等级</span>
logging.basicConfig(level=logging.DEBUG)
<span class="hljs-comment">#设置日志存放路径</span>
log_dir = os.path.join(DefaultConfig.BASE_DIR, <span class="hljs-string">"logs/t.log"</span>)
<span class="hljs-comment">#日志记录器对象,指明日志存储路径,每个日志文件最大尺寸,保存日志文件最大数量</span>
file_log_handler = RotatingFileHandler(log_dir, maxBytes=<span class="hljs-number">1024</span>*<span class="hljs-number">1024</span>*<span class="hljs-number">10</span>, backupCount=<span class="hljs-number">10</span>)
<span class="hljs-comment">#创建日志书写格式 等级 - 输入日志信息的文件名 - 行号 - 内容</span>
formatter = logging.Formatter(<span class="hljs-string">"[%(levelname)s] - [%(filename)s] - [%(lineno)d] - [%(message)s]"</span>)
file_log_handler.setFormatter(formatter)
<span class="hljs-comment"># 为全局的日志工具添加记录器对象</span>
logging.getLogger().addHandler(file_log_handler)
四、写日志
代码语言:javascript复制<span class="hljs-meta">@myApp.route('/home/')</span>
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">home</span><span class="hljs-params">()</span>:</span>
logging.debug(<span class="hljs-string">"我是个debug"</span>)
logging.info(<span class="hljs-string">"我是个info"</span>)
logging.warning(<span class="hljs-string">"我是个warning"</span>)
logging.error(<span class="hljs-string">"我是个error"</span>)
<span class="hljs-keyword">return</span> <span class="hljs-string">"lucky is a nice man"</span>