簡單的日誌應用

2021-10-07 02:48:42 字數 1393 閱讀 7460

import logging

from logging import handlers

class logger(object):

# 日誌級別關係對映

level_relations =

def __init__(self, filename, level='info', when='d', backcount=3,

fmt='%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s'):

self.logger = logging.getlogger(filename)

format_str = logging.formatter(fmt) # 設定日誌格式

self.logger.setlevel(self.level_relations.get(level)) # 設定日誌級別

sh = logging.streamhandler() # 往螢幕上輸出

sh.setformatter(format_str) # 設定螢幕上顯示的格式

# 往檔案裡寫入#指定間隔時間自動生成檔案的處理器

th = handlers.timedrotatingfilehandler(filename=filename, when=when, backupcount=backcount,

encoding='utf-8')

# 例項化timedrotatingfilehandler

# interval是時間間隔,backupcount是備份檔案的個數,如果超過這個個數,就會自動刪除,when是間隔的時間單位,單位有以下幾種:

# s 秒

# m 分

# h 小時、

# d 天、

# w 每星期(interval==0時代表星期一)

# midnight 每天凌晨

th.setformatter(format_str) # 設定檔案裡寫入的格式

self.logger.addhandler(sh) # 把物件加到logger裡

self.logger.addhandler(th)

if __name__ == '__main__':

log = logger('all.log', level='debug')

log.logger.debug('debug')

log.logger.info('info')

log.logger.warning('警告')

log.logger.error('報錯')

log.logger.critical('嚴重')

logger('error.log', level='error').logger.error('error')

C NuGet Nlog 日誌應用

軟體編寫過程中,經常要使用的一些庫,如果全部要自己一行一行 編寫的話,不管精力和時間都不允許。nuget的出現,給我們提供了非常好的解決方案。nuget不僅有很成熟的庫,經過多人不停維護更新的,而且直接嵌入到vs中,使用非常方便。下面以使用nlog為例,示範nuget的使用過程。1,開啟visual...

mysql 簡單應用 MYSQL 簡單應用

簡單整理 待補充 安裝install mysql community release el7 5.noarch.x86 64.rpm yum install mysql mysql server mysql devel mysql secure installation 建立密碼 建立使用者 gra...

簡單的日誌分析流程

使用flume採集資料到hdfs上 對資料進行清洗 可以使用mapreduce程式來清洗 在hive上建立相應的表載入清洗後的資料,然後使用hive對清洗後的資料進行多維分析 把hive分析得出的結果通過sqoop匯出到mysql中 提供檢視工具供使用者使用 可以自己寫web程式來訪問mysql 備...