[英]Modify output format of Python logger
我正在嘗試修改Python記錄器的輸出以顯示進程ID。
我嘗試過兩種方法:
import logging
FORMAT = "%(asctime)s %(process)s %(thread)s: %(message)s"
logging.basicConfig(format=FORMAT)
logger = logging.getLogger('my_logger')
和
import logging
FORMAT = "%(asctime)s %(process)s %(thread)s: %(message)s"
logger = logging.getLogger('my_logger')
handler = logger.handlers[0]
handler.setFormatter(logging.Formatter(FORMAT))
娜達 第一個不會更改格式。 當我嘗試訪問logger.handlers[0]
時,第二個拋出索引錯誤。
我不想編寫自己的處理程序,只需修改默認處理程序的格式即可。 有沒有簡單的方法?
第一個更改格式
logging.<severity>("message")
換句話說,當您在第一個示例中設置格式時,無需獲取單獨的記錄器實例,只需使用logging
本身即可。 話雖如此,如果您正在使用的任何其他模塊也使用logging
則可能會產生不良影響。
如果要更改單獨的記錄器的格式,可以使用以下示例:
from logging import StreamHandler, Formatter
FORMAT = '%(asctime)-15s %(levelname)-6s %(message)s'
DATE_FORMAT = '%b %d %H:%M:%S'
formatter = Formatter(fmt=FORMAT, datefmt=DATE_FORMAT)
handler = StreamHandler()
handler.setFormatter(formatter)
logger = logging.getLogger(__name__)
logger.addHandler(handler)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.