python对进城写日志的方案:
方案一: 加锁。 https://pypi.org/project/ConcurrentLogHandler/ 分析: 性能存在问题。
方案二、 O_APPEND 写入文件的方式。 分析: 可能性能不行。
方案三、 汇集所有日志到一个进程统一输出。 syslog -> 本地 分析:兼容多语言。
方案四、 汇集所有日志到一个进程统一输出。 sys.stdout -> supervisor -> 本地 分析: 定时任务有问题。
不限速修改:
/etc/systemd/journald.conf 修改
RateLimitInterval=0
RateLimitBurst=0
/etc/rsyslog.conf 的 $ModLoad imjournal 那行下面
$imjournalRatelimitInterval 0
$imjournalRatelimitBurst 0
$SystemLogRateLimitInterval 0
$SystemLogRateLimitBurst 0
python logging: https://www.jianshu.com/p/d615bf01e37b
https://www.cnblogs.com/restran/p/4743840.html
python 通过socket写到rsyslog: https://stackoverflow.com/questions/3968669/how-to-configure-logging-to-syslog-in-python
rsyslog配置: http://www.ywnds.com/?p=1304
http://blog.clanzx.net/2013/12/31/rsyslog.html
https://www.jianshu.com/p/a009c6690713
rsyslog属性替换器: http://dulishu.top/syslog-property-replacer/
rsyslog官方文档: https://www.rsyslog.com/doc/v8-stable/configuration/index.html
rsyslog过程: https://www.cnblogs.com/xybaby/p/6596431.html
rsyslog限速: https://www.rootusers.com/how-to-change-log-rate-limiting-in-linux/
https://support.asperasoft.com/hc/en-us/articles/216128628-How-to-disable-rsyslog-rate-limiting
取消tab符号的转移: $EscapeControlCharactersOnReceive off
多语言:
golang:https://golang.org/pkg/log/syslog/
shell: https://www.cyberciti.biz/tips/howto-linux-unix-write-to-syslog.html
scala、java: log4j https://logging.apache.org/log4j/2.x/manual/scala-api.html
网友评论