国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

在Python中使用全局日志時需要注意的問題

2020-02-23 01:06:11
字體:
來源:轉載
供稿:網友

在使用 uliweb 開發 soap webservice 后,啟動 uliweb 時,werkzeug 的日志莫名其妙丟失了。

正常的日志:

代碼如下:[INFO]  * Loading DebuggedApplication...
[INFO]  * Running on http://localhost:8000/
[INFO]  * Restarting with reloader
[INFO]  * Loading DebuggedApplication...

異常的日志:

代碼如下:[INFO]  * Loading DebuggedApplication...
[INFO]  * Loading DebuggedApplication...

事實上, werkzeug 相關 INFO 及其以下級別的日志全部都看不到了,這太詭異了,于是果斷提交了issue

而且我創建一個新的項目和 app 后,并沒有日志丟失的問題,于是我懷疑是因為我從 uliweb 0.1.3 升級到 0.1.4 導致的,我的項目是使用 0.1.3 創建的,之前也沒有注意過日志的問題,但是得到 limodou 的答復后,我否定了這一點

    uliweb在創建項目時不會生成象 Django 一樣的 manage.py 之類的東西,就是 settings.py 等一些配置文件和啟動文件, 都是和版本無關的。

仔細想想,我的項目和新創建的項目的區別在于 settings.ini 豐富了一些,然后用了 pysimplelib,好吧,從源碼追蹤吧。

我看了 uliweb 內置的 zerkzeug 代碼,創建日志這里很明確

uliweb/lib/werkzeug/serving.py

代碼如下:112         if not logging.root.handlers and _logger.level == logging.NOTSET:
113             _logger.setLevel(logging.INFO)
114             handler = logging.StreamHandler()
115             _logger.addHandler(handler)[code]

當全局 logging.root 中已經定義了 Handler 或者 werkzeug 沒有定義日志級別,werkzeug 會將其 logger 的日志級別 設置為 info,而打印 werkzeug 日志的地方,恰巧用了 info 級別

[code][INFO]  * Running on http://localhost:8000/
[INFO]  * Restarting with reloader

也就是說,因為已經定義其它 logging handler 的原因,導致無法輸出 werkzeug 日志

grep pysimplelib 下的結果

代碼如下:./client.py:33: logging.basicConfig(format='%(levelname)s:%(message)s', level=logging.WARNING)
./simplexml.py:27:logging.basicConfig(format='%(levelname)s:%(message)s', level=logging.WARNING)
./transport.py:30:logging.basicConfig(format='%(levelname)s:%(message)s', level=logging.WARNING)

好吧,果然是這家伙在作祟,注釋掉這三行代碼后,werkzeug 日志正常輸出

說起來,這不應該算是 uliweb 的問題,pysimplesoap 的庫修改的全局設計,似乎應該給它提個 issue 才是, 這個 issue 應該可以關閉了。

這里有個 workaround,在 apps/settings.ini 中添加

代碼如下:[LOG.Loggers]

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 屏东县| 龙胜| 邢台县| 铜陵市| 奇台县| 乌什县| 剑阁县| 安丘市| 泸西县| 巩义市| 玉门市| 保德县| 宁德市| 上林县| 镇远县| 平塘县| 六盘水市| 嘉黎县| 水富县| 宜春市| 永福县| 中西区| 呼伦贝尔市| 瑞丽市| 博湖县| 鲁山县| 天镇县| 平江县| 肇州县| 黎平县| 潼南县| 张家口市| 布尔津县| 山丹县| 合水县| 陈巴尔虎旗| 广宁县| 贵阳市| 利川市| 沙田区| 固阳县|