正文

 

 

  本文記錄了因為一個簡單的日志需求,繼而對linux環(huán)境下syslog、rsyslog、unix domain socket的學習。本文關注使用層面,并不涉及rsyslog的實現(xiàn)原理,感興趣的讀者可以參考rsyslog官網(wǎng)。另外,本文實驗的環(huán)境實在debian8,如果是其他linux發(fā)行版本或者debian的其他版本,可能會稍微有些差異。

需求:

回到頂部

  工作中有一個在Linux(debian8)環(huán)境下運行的服務器程序,用python語言實現(xiàn),代碼中有不同優(yōu)先級的日志需要記錄,開發(fā)的時候都是使用python的logging模塊輸出到文件,示例代碼如下:

  

大學生就業(yè)培訓,高中生培訓,在職人員轉行培訓,企業(yè)團訓

 1 import logging, os 2  3 logger = None 4 def get_logger(): 5     global logger 6     if not logger: 7         logger = logging.getLogger('ServerLog') 8         logger.setLevel(logging.INFO) 9         filehandler = logging.FileHandler(os.environ['HOME'] + '/Server.log', encoding='utf8')10         filehandler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s"))11         l