【Linux基础】-- 日志系统syslog与logger的使用方法整理

系统日志配置与使用指南

一、syslog 的使用

syslog 是一种标准用于记录程序运行日志信息的协议。以下是一些基本使用方法:

检查 syslogd 进程

确保 syslogd 进程正在运行。可以通过以下命令检查:

ps | grep syslogd

如果没有看到 syslogd 进程在运行,可以尝试启动它:

/etc/init.d/syslog start

或者在某些系统上:

/etc/init.d/log restart

日志目录权限

确保日志目录存在并且具有正确的权限。例如,如果日志存储在 /var/log 目录下,确保该目录存在并且具有写入权限:

mkdir -p /var/log
chmod 755 /var/log

二、syslog.conf 的编写

syslog.conf 文件用于配置 syslogd 服务,以定义系统日志消息的记录方式和存储位置。

基本格式

每一行的格式如下:

facility.level  destination
  • facility:日志设施,表示消息的来源(例如 auth, cron, daemon, kern, user, mail 等)。
  • level:日志级别,表示消息的重要性(例如 debug, info, notice, warning, err, crit, alert, emerg)。
  • destination:日志消息的目的地,可以是文件、控制台、远程主机等。

常见配置示例

  1. 记录所有消息到 /var/log/messages 文件:

    *.* /var/log/messages
    
  2. 记录内核消息到 /var/log/kern.log 文件:

    kern.* /var/log/kern.log
    
  3. 记录认证相关消息到 /var/log/auth.log 文件:

    auth.* /var/log/auth.log
    
  4. 记录邮件相关消息到 /var/log/mail.log 文件:

    mail.* /var/log/mail.log
    
  5. 记录 cron 作业相关消息到 /var/log/cron.log 文件:

    cron.* /var/log/cron.log
    
  6. 记录所有警告级别及以上的消息到控制台(虚拟终端1):

    *.warn /dev/tty1
    
  7. 将重要的系统消息发送到远程主机:

    *.crit @remote-host
    
  8. 忽略某些消息:忽略邮件和新闻的 debug 消息:

    mail.none;news.none /var/log/messages
    

示例配置文件

以下是一个示例 syslog.conf 文件的完整配置:

# Log all kernel messages to the console.
kern.*                                                 /dev/console# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none               /var/log/messages# The authpriv file has restricted access.
authpriv.*                                             /var/log/auth.log# Log all the mail messages in one place.
mail.*                                                 /var/log/mail.log# Log cron stuff.
cron.*                                                 /var/log/cron.log# Everybody gets emergency messages.
*.emerg                                                *# Save news errors of level crit and higher in a special file.
uucp,news.crit                                         /var/log/spooler# Save boot messages also to boot.log
local7.*                                               /var/log/boot.log

配置生效

修改 syslog.conf 文件后,需重新启动 syslogd 服务以使配置生效:

/etc/init.d/syslog restart

三、logger 的使用方式

logger 命令是一个用于从命令行发送日志消息到 syslog 的工具。可以通过 -p 选项指定日志消息的 facilitylevel

语法

logger -p facility.level "log message"

示例

  1. 将日志消息记录到 auth 设施中,级别为 info

    logger -p auth.info "This is an auth info message"
    
  2. 将日志消息记录到 daemon 设施中,级别为 warning

    logger -p daemon.warning "This is a daemon warning message"
    
  3. 将日志消息记录到 local0 设施中,级别为 notice

    logger -p local0.notice "This is a local0 notice message"
    

常用 facility 类型

  • auth:认证和安全相关的消息
  • cron:定时任务相关的消息
  • daemon:系统守护进程相关的消息
  • kern:内核相关的消息
  • local0local7:本地使用的自定义消息
  • mail:邮件系统相关的消息
  • syslog:syslog 系统相关的消息
  • user:用户级消息
  • uucp:UNIX-to-UNIX Copy Program 相关的消息

常用 level 级别

  • debug:调试级别的消息
  • info:信息级别的消息
  • notice:通知级别的消息
  • warning:警告级别的消息
  • err:错误级别的消息
  • crit:严重错误级别的消息
  • alert:需要立即处理的消息
  • emerg:系统无法使用的紧急消息

完整示例

以下是一个完整的示例,展示如何使用不同的 facilitylevel 记录日志消息:

logger -p auth.info "User login successful"
logger -p daemon.warning "Service is using high memory"
logger -p local0.notice "Custom application notice message"

通过使用这些选项,您可以灵活地将日志消息发送到适当的设施和级别,以便更好地分类和管理系统日志。

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

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

相关文章

安装Django Web框架

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 Django是基于Python的重量级开源Web框架。Django拥有高度定制的ORM和大量的API,简单灵活的视图编写,优雅的URL,适…

kafka 集群的数据顺序写入和零拷贝技术设计实现原理

kafka 集群的数据顺序写入和零拷贝技术设计实现原理 Kafka 是一种高吞吐量、分布式消息系统,其高性能设计得益于数据顺序写入和零拷贝技术。 下面详细介绍这两种技术在 Kafka 中的实现原理。 1. 数据顺序写入设计原理 顺序写入的优势 顺序写入是 Kafka 实现高性能的关键技…

近2年时间,华为手机上的卫星通信功能发展成怎样了?

自从Mate 50 系列支持北斗卫星短报文功能以来,已经过去了近2年的时间,卫星相关的功能也从最开始的摸索、罕见,逐渐变得成熟、在各品牌旗舰机上常见起来。 那么,这近两年的发展,卫星相关的功能都有了怎样的变化呢&…

史上最全整合nacos单机模式整合哈哈哈哈哈

Nacos 是阿里巴巴推出的一个新开源项目,它主要是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos提供了一组简单易用的特性集,帮助用户快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos 的关键特性包括&#x…

简过网:公务员报班和不报班的有区别吗?

很多备考公务员的朋友可能都会有这种纠结,到底要不要报个培训班呢,报班了怕没什么用,不报班又怕自己考不上,如果你也有这个疑问,那么不妨来看看这篇文章! ​ 先说一下,公务员报班和不报班的有区…

3110. 字符串的分数

给你一个字符串 s 。一个字符串的 分数 定义为相邻字符 ASCII 码差值绝对值的和。 请你返回 s 的 分数 。 示例 1: 输入:s "hello" 输出:13 解释: s 中字符的 ASCII 码分别为:h 104 ,e 1…

python项目使用pre-commit确保代码规范

1. 安装pre-commit (建议直接使用pipx全局安装,无需每个项目单独安装) pipx install pre-commit 2. 模板: 一、需要兼容3.10以下版本的: # See https://pre-commit.com for more information # See https://pre-commit.com/h…

平方根的三种求法(袖珍计算器算法,二分查找,牛顿迭代)

一、袖珍计算器 袖珍计算器方法主要运用到了我们高数上所学的关于e底数转化的思想&#xff0c;即 一种用指数函数 exp⁡ 和对数函数 ln⁡ 代替平方根函数的方法 : 1、exp函数&#xff1a; exp是 C 标准库 <math.h> 中的一个函数&#xff0c;用于计算 e 的 x 次幂&…

微服务(服务治理)

服务远程调用时存在的问题 注册中心原理 服务治理中的三个角色分别是什么&#xff1f; 服务提供者&#xff1a;暴露服务接口&#xff0c;供其它服务调用服务消费者&#xff1a;调用其它服务提供的接口注册中心&#xff1a;记录并监控微服务各实例状态&#xff0c;推送服务变更信…

【乐吾乐2D可视化组态编辑器】图表动态显示

1. 添加数据 乐吾乐2D可视化组态编辑器地址&#xff1a;https://2d.le5le.com/ 图表动态展示是指一个图表图元的数据属性&#xff08;一般是dataY&#xff09;绑定多个变量&#xff0c;建立通信后数据动态变化展示。 官网默认Echarts图表拖拽到画布中是已经添加了图元的da…

【ChatBI】超轻量Python库Vanna快速上手,对接oneapi

oneapi 准备 首先确保你有oneapi &#xff0c;然后申请 kimi的api 需要去Moonshot AI - 开放平台 然后添加一个api key 然后打开oneapi的渠道界面&#xff0c;添加kimi。 然后点击 测试&#xff0c; 如果能生成响应时间&#xff0c;就是配置正确。 然后创建令牌 http:…

Ant Design Vue中的Table和Tag的基础应用

目录 一、Table表格 1.1、显示表格 1.2、列内容过长省略展示 1.3、完整分页 1.4、表头列颜色设置 二、Tag标签 2.1、根据条件显示不同颜色 2.2、控制关闭事件 一、Table表格 效果展示&#xff1a; 官网&#xff1a;Ant Design Vue 1.1、显示表格 <a-tableref&quo…

《Linux》 Part1 top 指定多个程序名查看状态

《Linux》 Part1 top 指定多个程序名查看状态 1.top 查看多个程序状态命令2.单个进程状态查看命令 1.top 查看多个程序状态命令 processes("nginx" "apache2") tmp""for process in "${processes[]}"; dopids$(pgrep "$process&…

k8s集群搭建及对一些组件的简单理解

背景 k8s的学习环境&#xff08;用kubeadm方式搭建&#xff09;&#xff0c;我也搭过几次了&#xff0c;但都有点问题。 要么在云服务器上弄&#xff0c;这个的问题是就只有一台轻量服务器&#xff0c;只能搭个单节点的&#xff1b;后来买了一台便宜的&#xff0c;所以就有了两…

MIT6.s081 2021 Lab Utilities

Boot xv6 按照示例切换到 util 分支后&#xff0c;看到目录下包含 Makefile 文件&#xff0c;执行 make qemu 即可。 sleep 思路 借助系统调用 sleep 实现一个命令行程序&#xff0c;关键是要找到封装了系统调用的 C 函数的位置&#xff0c;根据提示&#xff1a; … user/u…

【LLM】GLM系列模型要点

note 文章目录 noteGLM一、数据层面1. 预训练数据 二、GLM4模型层面三、GLM-4 All Tools四、GLM的其他技术Reference GLM Paper&#xff1a;https://arxiv.org/abs/2406.12793 GitHub&#xff1a;https://github.com/THUDM HF&#xff1a;https://huggingface.co/THUDM 经过…

Python二级考试试题②

1. 以下关于程序设计语言的描述&#xff0c;错误的选项是&#xff1a; A Python语言是一种脚本编程语言 B 汇编语言是直接操作计算机硬件的编程语言 C 程序设计语言经历了机器语言、汇编语言、脚本语言三个阶段 D 编译和解释的区别是一次性翻译程序还是每次执行时都要翻…

将独立的 Python 网络应用程序分发给非技术用户

1. 问题背景 我们需要编写一个 Python 网络应用程序&#xff0c;供教师和学生在课堂上使用。该应用程序将在托管的网站上运行&#xff0c;但我们也希望用户能够下载一个自包含的应用程序&#xff0c;以便他们可以在本地安装&#xff0c;以获得更好的性能或他们根本无法在教室中…

【Solr 学习笔记】Solr 源码启动教程

Solr 源码启动教程 本教程记录了如何通过 IDEA 启动并调试 Solr 源码&#xff0c;从 Solr9 开始 Solr 项目已由 ant 方式改成了 gradle 构建方式&#xff0c;本教程将以 Solr 9 为例进行演示&#xff0c;IDE 选择使用 IntelliJ IDEA。 Solr github 地址&#xff1a;https://gi…

mysql:mysql XA事务的简单例子

# 测试 创建测试表&#xff0c;并写入数据 create table cash_account(name varchar(10),balance decimal(10,2) ) engineinnodb;insert into cash_account values(Tom, 210000);第一个会话&#xff0c;执行XA事务的业务内容 xa start transfer_of_account,cash;update cas…