python 로그 출력 - 로 깅 프로필

3378 단어 python
1. logging 은 코드 에 직접 적 습 니 다.
      >>>http://blog.csdn.net/naiveloafer/article/details/7630673
2. 설정 파일 을 통 해 출력 설정
프로필:
#Configuration for log output
#Naiveloafer
#2012-06-04

[loggers]
keys=root,xzs

[handlers]
keys=consoleHandler,fileHandler,rotatingFileHandler

[formatters]
keys=simpleFmt

[logger_root]
level=DEBUG
#handlers=consoleHandler
#handlers=fileHandler
handlers=rotatingFileHandler

[logger_xzs]
level=DEBUG
handlers=rotatingFileHandler
qualname=xzs
propagate=0

[handler_consoleHandler]
class=StreamHandler
level=DEBUG
formatter=simpleFmt
args=(sys.stdout,)

[handler_fileHandler]
class=FileHandler
level=DEBUG
formatter=simpleFmt
args=("../log/p2pplayer.log", "a")

[handler_rotatingFileHandler]
class=handlers.RotatingFileHandler
level=DEBUG
formatter=simpleFmt
args=("../log/p2pplayer.log", "a", 20*1024*1024, 10)


[formatter_simpleFmt]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s - [%(filename)s:%(lineno)s]
datefmt=

테스트 코드:
def log_test02():
    import logging
    import logging.config
    CONF_LOG = "../conf/p2pplayer_logging.conf"
    logging.config.fileConfig(CONF_LOG);    #       
    logger = logging.getLogger("xzs")
    logger.debug("Hello xzs")
    
    logger = logging.getLogger()
    logger.info("Hello root")
    
if __name__ == "__main__":
    log_test02()

출력:
2012-06-04 15:28:05,751 - xzs - DEBUG - Hello xzs - [xlog.py:29]
2012-06-04 15:28:05,751 - root - INFO - Hello root - [xlog.py:32]

구체 적 으로 는 상세 하 게 설명 하지 않 겠 습 니 다. 어쨌든 실행 할 수 있 습 니 다. 이 파일 설정 은 저 에 게 이틀 의 시간 을 주 었 습 니 다.
특히 class = XXXX 주의!!!
 formatter 설정 에 대해 서 는% () s 형식 을 사용 합 니 다. 사전 의 키워드 교체 입 니 다.제 공 된 키 워드 는 다음 과 같 습 니 다:
Format
Description
%(name)s
Name of the logger (logging channel).
%(levelno)s
Numeric logging level for the message (DEBUG, INFO, WARNING, ERROR, CRITICAL).
%(levelname)s
Text logging level for the message ('DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL').
%(pathname)s
Full pathname of the source file where the logging call was issued (if available).
%(filename)s
Filename portion of pathname.
%(module)s
Module (name portion of filename).
%(funcName)s
Name of function containing the logging call.
%(lineno)d
Source line number where the logging call was issued (if available).
%(created)f
Time when the LogRecord was created (as returned by time.time()).
%(relativeCreated)d
Time in milliseconds when the LogRecord was created, relative to the time the logging module was loaded.
%(asctime)s
Human-readable time when the LogRecord was created. By default this is of the form “2003-07-08 16:49:45,896” (the numbers after the comma are millisecond portion of the time).
%(msecs)d
Millisecond portion of the time when the LogRecord was created.
%(thread)d
Thread ID (if available).
%(threadName)s
Thread name (if available).
%(process)d
Process ID (if available).
%(message)s
The logged message, computed as msg % args.

좋은 웹페이지 즐겨찾기