2012-05-22 78 views
8

Django documentation,這裏是記錄一個示例格式:記錄格式化在Django

'formatters': { 
    'verbose': { 
     'format': '%(levelname)s %(asctime)s %(module)s: %(message)s' 
    } 
} 

這將打印類似:

ERROR 2012-05-22 14:33:07261 42892意見4398727168你好

有沒有可以包含在字符串格式中的項目列表?例如,我希望能夠看到正在創建消息的功能和應用,例如:

ERROR時間myproject.myapp.views.login_function消息

回答

19

Python logging module documentation

  • asctime%(asctime)s
    創建LogRecord時的可讀時間。默認情況下,這是'2003-07-08 16:49:45,896'的格式(逗號之後的數字是毫秒部分)。

  • 創建:當LogRecord創建(由time.time()返回)%(created)f
    時間。

  • 文件名路徑名%(filename)s
    文件名部分。

  • 了funcName%(funcName)s
    含有記錄通話功能名稱。

  • levelname%(levelname)s 文本日誌記錄級別消息( 'DEBUG', 'INFO', '警告', '錯誤', '關鍵')。

  • levelno%(levelno)s
    數字日誌記錄級別消息(DEBUG,信息,警告,錯誤,嚴重)。

  • LINENO:簽發該記錄通話%(lineno)d
    源行號(如果可用)。

  • 模塊%(module)s
    模塊(文件名的名稱的部分)。

  • 毫秒%(msecs)d
    的當LogRecord的創建時間毫秒部分。

  • 消息%(message)s
    記錄的消息,計算爲msg % args。這是在調用Formatter.format()時設置的。

  • %(name)s
    用於記錄通話記錄器的名稱。

  • 路徑%(pathname)s
    簽發該記錄的呼叫源文件的完整路徑(如果可用)。

  • 過程%(process)d
    進程ID(如果可用)。

  • processName%(processName)s
    進程名稱(如果可用)。

  • relativeCreated%(relativeCreated)d
    時間以毫秒爲單位,當LogRecord創建,相對於日誌模塊被加載的時間。

  • 線程%(thread)d
    線程ID(如果可用)。

  • threadName%(threadName)s
    線程名稱(如果可用)。

以下參數也可爲Formatter.format(),雖然他們不打算在格式字符串包含:

  • ARGS
    的參數的元組併入味精來產生消息。

  • exc_info
    異常元組(點菜sys.exc_info),或者,如果沒有發生異常,None

  • 味精
    在原來的日誌記錄調用傳遞的格式字符串。合併參數以產生消息或任意對象(請參閱Using arbitrary objects as messages)。

1

Step1。編輯你的settings.py文件

$ cd mysite 
$ vim mysite/settings.py 
'formatters': { 
    'simple': { 
     'format': '%(levelname)s %(asctime)s %(name)s.%(funcName)s:%(lineno)s- %(message)s' 
    }, 
}, 

Step2。你應該在你的代碼使用記錄是這樣的:

import logging 
logger = logging.getLogger(__name__) 

def fn1() { 
    logger.info('great!') 
    logger.info(__name__) 
} 

希望幫助你!