1. 程式人生 > >風火程式設計--python的日誌配置

風火程式設計--python的日誌配置

python日誌配置

單獨指令碼

# 日誌 配置
# ====================================================================
LOG_DIR = "/data/log/resume/"
if not os.path.exists(LOG_DIR):
    os.makedirs(LOG_DIR)
logfilename = os.path.join(LOG_DIR, datetime.datetime.now().strftime("%Y%m%d") + '_log.log')
handler = logging.basicConfig(level=logging.DEBUG, format=(
    '%(asctime)s, %(levelname)s, %(filename)s, %(funcName)s, %(lineno)s: %(message)s'),
                              datefmt='%a %d %b %Y %H:%M:%S', filename=logfilename, filemode='w')
console = logging.StreamHandler()
console.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s %(levelname)s, %(filename)s, %(funcName)s, %(lineno)s: %(message)s')
console.setFormatter(formatter)
logging.getLogger('').addHandler(console)
# ====================================================================

scrapy專案

 # 日誌配置
# =====================================================================
logger = logging.getLogger(__name__)
LOG_DIR = "/data/log/xxx/"
if not os.path.exists(LOG_DIR):
    os.makedirs(LOG_DIR)
logfilename = os.path.join(LOG_DIR, datetime.datetime.now().strftime("%Y%m%d") + '_log.log')

# 建立一個handler,用於寫入日誌檔案
fh = logging.FileHandler(logfilename)
fh.setLevel(logging.DEBUG)

# 建立一個handler,用於輸出到控制檯
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)

# 定義handler的輸出格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
ch.setFormatter(formatter)

# 給logger新增handler
logger.addHandler(fh)
logger.addHandler(ch)
# =====================================================================

Flask專案

    # 日誌配置
    # ====================================================================
   LOG_DIR = os.path.abspath("/log/xxxx")
    logfilename = os.path.join(LOG_DIR, datetime.datetime.now().strftime("%Y%m%d") + '_log.log')
    if not os.path.exists(LOG_DIR):
        os.makedirs(LOG_DIR)
    handler = logging.FileHandler(logfilename, encoding='UTF-8')
    handler.setLevel(logging.DEBUG)
    logging_format = logging.Formatter('%(asctime)s - %(levelname)s - %(filename)s - %(funcName)s - %(lineno)s - %(message)s')
    handler.setFormatter(logging_format)
    app.logger.addHandler(handler)
    # ====================================================================