簡體   English   中英

Python記錄奇怪的問題

[英]Python logging strange issue

我有一個奇怪的問題,即日志未寫入日志文件。 我無法在此處發布所有代碼,但是我正在做以下事情:

我有一個帶文件處理程序的記錄器,然后執行一些腳本(作為輸入獲取)。 執行腳本后我正在執行的所有日志從日志文件中消失

logging.info('Before execution')
# execute user script
popen(...)
logging.info('After execution')

“執行后”消息未寫入日志奇怪的是,當我在終端上運行tail -f <log> ,我可以看到'After execution'消息。 但是,當我打開日志文件查看其內容時,看不到此消息。

當我在登錄'After execution'之前關閉文件處理程序時,該消息將按預期寫入日志。

可能是什么問題? 我想這與我在popen(...)執行的用戶腳本有關,但是我不知道此腳本在做什么。 當我運行一些簡單的腳本時,一切都會按預期進行。 可能是什么問題?

Popen不會等待腳本完成,因此請嘗試在日志記錄調用之前使用等待,否則它將盡快並且很可能在腳本有時間完成之前執行日志記錄。

logging.info('Before execution')
process = Popen(...)
process.wait()
logging.info('After execution')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM