由于logging庫在云端系統的各種問題,需要自己實現一個日志器。通過inspect可以獲取到當前函數的調用者所在行號、函數名等信息。也就是程序運行堆棧監視。
建議日志如下:
class
getLogger
(
)
:
def
debug
(
self
,
msg
)
:
if
DEBUG
:
print
(
'%s - DEBUG:%d - %s'
%
(
time
.
strftime
(
'%Y-%m-%d %H:%M:%S'
,
time
.
localtime
(
)
)
,
inspect
.
stack
(
)
[
1
]
[
2
]
,
msg
)
)
def
info
(
self
,
msg
)
:
print
(
'%s - INFO:%d - %s'
%
(
time
.
strftime
(
'%Y-%m-%d %H:%M:%S'
,
time
.
localtime
(
)
)
,
inspect
.
stack
(
)
[
1
]
[
2
]
,
msg
)
)
def
error
(
self
,
msg
)
:
print
(
'%s - ERROR:%d - %s'
%
(
time
.
strftime
(
'%Y-%m-%d %H:%M:%S'
,
time
.
localtime
(
)
)
,
inspect
.
stack
(
)
[
1
]
[
2
]
,
msg
)
)
由于時間關系沒有深究,推測
inspect.stack()[1][2]
的兩極索引分別對應棧偏移、變量項目。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
