0
点赞
收藏
分享

微信扫一扫

Python 将日志上传到远程 Rsyslog

配置 Rsyslog

  1. /etc/rsyslog.conf 配置如下配置
    
    $ModLoad imudp
    $UDPServerRun 514
    $ModLoad imtcp
    $InputTCPServerRun 514

$template remote-incoming-logs,"/data/log/%$YEAR%/%$MONTH%/%$DAY%/%programname%/%$hour%"
. ?remote-incoming-logs

2. 重启 rsyslog 服务
`# systemctl restart rsyslog`

3. 确认 /data/log 目录及权限
`mkdir /data/log && chmod 777 /data/log`

## 配置 Python 上传日志
1. 测试日志传到远程 rsyslog 服务器的 python demo

import logging
import logging.handlers

日志对象的名称

my_logger = logging.getLogger('django_log')
my_logger.setLevel(logging.INFO)

日志格式

formatter = logging.Formatter("%(processName)s %(name)s %(message)s")
handler = logging.handlers.SysLogHandler(address=('10.20.2.12', 514))
handler.setFormatter(formatter)
my_logger.addHandler(handler)
my_logger.info("test logging")

2. 在 rsyslog 服务器的对应目录下确认按小时生成的日志文件(根据上面 rsyslog 的配置自动生成)

ls /data/log/2022/06/03/django_log

16

3. 确认测试的日志内容

cat /data/log/2022/06/03/django_log/16

Jun 3 16:57:37 MainProcess django_log test logging

举报

相关推荐

0 条评论