在 Ubuntu 系统中,syslog 通常使用 rsyslog 作为其实现。要为 syslog 消息自定义标签,您需要修改 rsyslog 配置文件并重新启动 rsyslog 服务。以下是具体步骤:
打开终端。
使用文本编辑器打开 rsyslog 配置文件。通常,该文件位于 /etc/rsyslog.conf
或 /etc/rsyslog.d/50-default.conf
。例如,要使用 nano 编辑器打开默认配置文件,请运行以下命令:
sudo nano /etc/rsyslog.d/50-default.conf
# Provides UDP syslog reception
module(load="imudp")
input(type="imudp" port="514")
# Provides TCP syslog reception
module(load="imtcp")
input(type="imtcp" port="514")
在这些行之后,添加您想要的自定义标签。例如,要创建一个名为 “myapp” 的标签,请添加以下行:
local0.* /var/log/myapp.log
& stop
这里,local0
是 syslog 设施代码,*
表示所有优先级级别。/var/log/myapp.log
是日志文件的路径。& stop
表示在将消息写入 myapp.log 文件后停止进一步处理。
保存并关闭配置文件。
重新启动 rsyslog 服务以应用更改:
sudo systemctl restart rsyslog
现在,您的应用程序可以使用自定义标签记录日志。例如,在 Python 中,您可以使用以下代码:
import logging
logger = logging.getLogger('myapp')
logger.setLevel(logging.INFO)
handler = logging.FileHandler('/var/log/myapp.log')
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
logger.info('This is an info message with the custom tag "myapp".')
这将在 /var/log/myapp.log
文件中记录带有自定义标签 “myapp” 的日志消息。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: ubuntu如何更新软件