首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >python防止将日志写入syslog

python防止将日志写入syslog
EN

Stack Overflow用户
提问于 2016-12-12 03:29:59
回答 2查看 1.5K关注 0票数 1

这是我的日志设置。它工作得很好,我可以在test.log中找到登录,但我也可以找到登录到/var/log/messages中的东西,类似于

代码语言:javascript
运行
复制
Dec  9 16:13:39 ip-10-80-48-6 python: DEBUG:__main__:Test Log

我不想登录到/var/log/messages,也许其他路径更好,因为日志太大了

代码语言:javascript
运行
复制
import logging
logger = logging.getLogger(__name__)
logging.basicConfig()
logger.setLevel(logging.DEBUG)

handler = logging.handlers.RotatingFileHandler('test.log', "a", maxBytes=50000000, backupCount=10)
handler.setLevel(logging.DEBUG)
handler.setFormatter(logging.Formatter('%(asctime)s - %(levelname)s - %(message)s'))

logger.addHandler(handler)

#更新

此代码位于我的扭曲服务中,我使用systemctl启动该服务。

EN

Stack Overflow用户

发布于 2016-12-12 09:47:59

参考下面的链接。举例说明。

https://docs.python.org/2.7/howto/logging-cookbook.html#logging-to-multiple-destinations

https://docs.python.org/3/howto/logging-cookbook.html#logging-to-multiple-destinations

在示例中(在链接中解释),它们将输出重定向到文件和控制台。如果您的要求是重定向到其他文件,而不是/var/log/messages;将"test.log“作为参数传递给basicConfig()函数,然后为syslog再创建一个处理程序,如下所示。

代码语言:javascript
运行
复制
sysloghandler = logging.handlers.SysLogHandler("/dev/log") 
sysloghandler.setLevel(logging.INFO) 
syslogformatter = logging.Formatter('%(name)s: %(level)s %(message)s') 
sysloghandler.setFormatter(syslogformatter) 
logging.getLogger('myapp').addHandler(sysloghandler)
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41093806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档