python log文件如何不写入syslog_Centos下python 对syslog重写进行日志记录

在Linux 环境下,python自带一个syslog的模块可以进行日志记录。python可以利用logging模块来重写syslog,这样就可以自定义写入文件的文件名。如果不做配置则直接写入到/var/log/message文件里。

首先先写log.py,代码如下:

importosimportsysimportsyslogimporttypesimporttracebackfrom datetime importdatetimeimportlogging as _logging

LOGFILE_ENABLE = True

classDummyLogger(object):defdebug(self, msg):pass

definfo(self, msg):pass

defwarning(self, msg):pass

deferror(self, msg):pass

classCombinedLogger(object):def __init__(self, id):

self.id=idifLOGFILE_ENABLE:

self.logger=_logging.getLogger(id)else:

self.logger=DummyLogger()defdebug(self, msg):

syslog.openlog(self.id, syslog.LOG_PID)

syslog.syslog(syslog.LOG_DEBUG, msg)pass

definfo(self, msg):try:

syslog.openlog(self.id, syslog.LOG_PID)

syslog.syslog(syslog.LOG_INFO, msg)exceptTypeError:print 'Unicode Error', type(msg), msgprint msg.encode('utf8')

self.logger.info(msg)pass

defwarning(self, msg):

syslog.openlog(self.id, syslog.LOG_PID)

syslog.syslog(syslog.LOG_WARNING, msg)pass

deferror(self, e):

syslog.openlog(self.id, syslog.LOG_PID)

ex, msg, stack=sys.exc_info()

text= ['Exception: %s, Message: %s' % (ex, msg)] +traceback.format_tb(stack)

syslog.syslog(syslog.LOG_ERR,'\n'.join(text))pass

classLoggerWrapper(object):defgetLogger(self, id):returnCombinedLogger(id)

logging= LoggerWrapper()

测试代码write_log.py如下:

importsyslogimportdatetimeimportloggingimporttimeimportthreadingimportosfrom log importlogging as self_loggingimportconfig

logger= self_logging.getLogger('python')defwrite_log_func():

now =datetime.datetime.now()

logger.info("It's time now: {}".format(now))defwrite_sign_log(index):

path= '/home/xxx/test.log'logging.basicConfig(filename=path, filemode='w')

logging.info("row:{}".format(index))if __name__ == '__main__':

i= 1

whileTrue:

t_list=[]

tt_list=[]for i in xrange(40000):

t= threading.Thread(target=write_log_func, args=())

t_list.append(t)

for t1 int_list:

t1.start()

for t2 int_list:

t2.join()

print 'log is written'time.sleep(40)

最后对/etc/syslog.conf进行配置

!python*.* /var/log/python.log

指定测试脚本中的日志写入到那个目录文件下。

可能会遇到得错误:

1、日志丢失,在写入日志时,只有一部分日志写进去了,查看meessage文件,发现有这样得错误:

imuxsock lost 47 messages from pid 2002 due to rate-limiting

imuxsock begins to drop messages from pid 2002 due to rate-limiting

这种情况出现说明syslog的配置记录超过最大值,修改syslog的配置文件来解决。

修改配置文件/etc/syslog.config,在其中对以下两个参数进行设置

echo '$SystemLogRateLimitInterval 60' >> /etc/rsyslog.conf

echo'$SystemLogRateLimitBurst 3000' >> /etc/rsyslog.conf

其中的数字根据实际情况可以做改变。第一条:为设定的限制的时间间隔大小,第二条:为在设定的限制的时间间隔内,最多输出的log信息数量。

上面的配置表示在每一个60s时间间隔内,如果超过3000条的log信息将会被去丢掉。如果不希望有丢失则直接可设置下面这个参数即可:

$SystemLogRateLimitInterval 0

设置成功后,重启rsyslog即可service rsyslog restart 。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/339899.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html中可以有两个h1,在一个HTML中h1标签能出现几次?h1标签和标题标签

首页 > web前端 > html教程 > 正文 在一个HTML中h1标签能出现几次?h1标签和标题标签的差别是什么? 2018-08-29 10:57:28本篇文章主要介绍了关于HTML h1标签的一些解释,有html h1标签和html title标签的区别,还有网页中h1…

Java中的记录类型

2020年3月发布的JDK 14引入了记录 (预览语言功能),这些记录提供了一种紧凑的语法来声明主要用于保存数据的类。 在记录中 ,所有低级,重复且容易出错的代码都类似于构造函数,访问器和通用方法,例…

angular 注入器配置_Angular依赖注入介绍

依赖注入(DI -- Dependency Injection)是一种重要的应用设计模式。Angular里面也有自己的DI框架,在设计应用时经常会用到它,它可以我们的开发效率和模块化程度。依赖,是当类需要执行其功能时,所需要的服务或对象。DI是一种编码模式…

山东省102021年普通高考成绩查询,山东高考成绩今日发布!成绩查询看这里!

原标题:山东高考成绩今日发布!成绩查询看这里!山东高考生注意啦~今天16:20举行山东2020年夏季高考第二次新闻发布会届时将会公布高考录取政策、分数线情况等今天17:00公布2020夏季高考与等级考成绩发布会怎么看?高考成绩怎样查&am…

可变对象 不可变对象区别_对象应该是不可变的

可变对象 不可变对象区别在面向对象的编程中,如果对象的状态在创建后无法修改,则它是不可变的 。 在Java中,不可变对象的一个​​很好的例子是String 。 创建后,我们无法修改其状态。 我们可以要求它创建新的字符串,但…

判别分析分为r型和q型吗_SPSS聚类和判别分析参考.ppt

SPSS聚类和判别分析参考10.1主成分分析和因子分析简介 3 常用术语 (1)因子载荷 (2)变量共同度 (3)公共因子的方差贡献 10.1主成分分析和因子分析简介 10.1.2主成分和公因子数量的确定 (1) 确定时遵循几个原则 主成分的累积贡献率:一般来说,提取主成分的累…

计算机应用基础人才培养方案,1. 培养方案(计算机应用基础课程).doc

人才培养方案一、课程定位和课程目标1、课程性质和任务  《计算机应用基础》是高职高专教育中的一门理论与实践相结合的基础必修课,是培养大学生信息素养的必修课程。但与普通的素质教育课程不同,由于计算机应用的普及性和广泛性,学生的计算…

使用SoapUI调用不同的安全WCF SOAP服务-基本身份验证,第二部分

在本系列的第一篇文章中,我们创建了一个基本的身份验证服务,以使用SoapUI进行调用。 因此,在第二篇文章中,我们将逐步演示如何使用此工具成功调用这种服务。 使用SoapUI的1-Basic WCF SOAP –创建新的SOAP项目 首先,我…

r语言electricity数据集_R语言实验报告.doc

R语言实验报告R语言实验报告R语言判别分析实验报告班级:应数1201学号姓名:麦琼辉时间:2016年11月28号1 实验目的及要求1) 了解判别分析的目的和意义;2) 熟悉R语言中有关判别分析的算法基础。2 实验设备及要求个人计算机一台&#…

linux rar加压_Linux之rar文件解压之路

导读相信大家在使用Linux系统时有时候会碰到有关于rar文件的解压缩。网上下载rar 压缩文件的使用,在linux在我们需要对其进行解压缩,这个时候,我们需要安装 rar相关的文件,来进行解压缩。1. 下载我们进入rarlab网站,进…

全国计算机二级office基础知识,全国计算机二级office考试内容

计算机领域中所运用的技术方法和技术手段。计算机技术具有明显的综合特性,它与电子工程、应用物理、机械工程、现代通信技术和数学等紧密结合,发展很快。下面是小编整理的关于全国计算机二级office考试内容,希望大家认真阅读!基本要求1. 掌握…

insight切换窗口 source_source insight的使用方法逆天整理(1)

A. why SI:为什么要用Source Insight呢?因为她比完整的IDE要更快啊,比一般的编辑器便捷啊!她有逆天的查看定义,查看调用,查看引用功能以及方便的Context Window上下文显示,像这样的东西非常有利于查看大量代…

html table nei边框线,GitHub - meichuanneiku/TableCell: 在TableBank的基础上,进一步标注到单元格精度,利用目标检测/分割实现单元格定位。...

项目说明本项目是我2019年7月份的实习工作的**展示与记录**:把倾斜的表格旋转水平;制作5000张表格数据集,需要标注每一个单元格,并实现单元格检测第一项比较简单,仿射变换、透视变换已经很成熟了,关键是第二…

前缀命名

如果您是第一次查看Takes或Cactoos的源代码,则很可能会像其他名称一样被命名约定触发,这意味着大多数类名称都有两个字母的前缀: BkSafe , RqFake , RsWithStatus , TkGzip等。 老实说,我还没有…

python中excel制作成绩报表_python制作简单excel统计报表2之操作excel的模块openpyxl简单用法...

python制作简单excel统计报表2之操作excel的模块openpyxl简单用法# codingutf-8 from openpyxl import Workbook, load_workbook from openpyxl.drawing.image import Image from openpyxl.styles import Font,colors from datetime import datetime import MySQLdb class Exce…

2018软科计算机科学与技术排名,又一中国高校“计算机学科排名”发布,清华第1,浙大第2...

计算机类专业是近些年最热门的专业之一,这类专业不仅就业情况好,工资待遇水平也很高,就是在考公务员时也很有优势。现在,大部分高校都已经开设了计算机类专业,我国学习计算机类专业的学生数量非常多,所以&a…

java数字格式化_Java数字格式

java数字格式化当我看到其他人编写不必要的Java代码并且由于缺乏对已经提供所需功能的JDK类的了解而编写了不必要的Java代码时,我会想到很多次。 这样的一个例子是时间相关的常量的使用硬编码值的写入,如60 , 24 , 1440 &#xff…

快手小筷子机器人_小筷子app官方版下载-快手控场机器人小筷子app下载v1.0.0安卓版_289手游网...

快手控场机器人小筷子app是一个专门为快手主播打造的专业实用工具,是每个快手主播的最佳直播伴侣!快手控场机器人小筷子app能够实时与观众弹幕互动,还能语音播报各种礼物答谢等等,帮助每个主播更好的聚拢粉丝。快手控场机器人小筷…

计算机专业英语主要句型及翻译技巧,计算机专业英语单词及翻译等技巧-20210420072747.ppt-原创力文档...

New Words & Expressions:computerlike a. 计算机似的electromechanical a. 机电的, 电机的vacuum tubes 真空管Census Bureau 人口普查局thousands of 成千上万的 known as 通常所说的,以……著称1.1 The Invention of the ComputerAbbreviations:ENIAC(Electr…

安川机器人编程加电弧_安川AR2010机器人

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼安川AR2010机器人 微信hao123ali联系15067165514 安川机器人末端工具快换_桥田_品质承诺实现安川机器人的一机多用, 工装夹具高效切换,专注于提升工业自动化生产线柔性,技术领先,荣获…