正文

 

  本文记录了因为一个简单的日志需求,继而对linux环境下syslog、rsyslog、unix domain socket的学习。本文关注使用层面,并不涉及rsyslog的实现原理,感兴趣的读者可以参考rsyslog官网。另外,本文实验的环境实在debian8,如果是其他linux发行版本或者debian的其他版本,可能会稍微有些差异。

需求:

回到顶部

  工作中有一个在Linux(debian8)环境下运行的服务器程序,用python语言实现,代码中有不同优先级的日志需要记录,开发的时候都是使用python的logging模块输出到文件,示例代码如下:

  

大学生就业培训,高中生培训,在职人员转行培训,企业团训

 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         logger.addHandler(filehandler)12     return logger13