首页 > 系统相关 >Linux下日志系统

Linux下日志系统

时间:2023-04-07 20:26:49浏览次数:40  
标签:LOG 系统 信息 syslog rsyslog Linux 日志 log

系统日志

rsyslog

我们可以通过rsyslog查看系统日志。rsyslog是从内存采集日志到硬盘的工具,并非生成日志,日志由程序产生在内存。

日志信息一般保存在     /var/log/message    ,可以通过cat命令查看。

不过在ubuntu下需要先配置:打开  /etc/rsyslog.conf  可以看到,配置文件保存在  /etc/rsyslog.d/  目录下:

 

 

cd到 /etc/rsyslog.d/  ,打开其中的 50-default.conf ,增加一行:

 

*.info;mail.none;authpriv.none;cron.none     /var/log/messages
也可以写为:     *.*  /var/log/messages


其意义是: 日志类型.级别(;分隔)   存放文件路径
*.* 意思为:任何类型日志的任何级别
可以通过man syslog查看

 

 从上到下级别由低到高,记录的信息越少

 

 如果之后需要使用用户日志,把user.*前面的#删除即可。

修改完保存退出,重启rsyslog(需要密码)。现在cat /var/log/messages 就能显示出日志信息:

 之后只要cat相应文件就可以读出具体的日志信息了。

 

利用库函数

我们也可使用库函数自定义日志

需要用到头文件:#include <syslog.h>

   void openlog( char *ident, int option, int  facility)
      void syslog( int priority, char *format, ...)
      void closelog( void )

 

第一个参数是标志字符串,也就是日志中的第5个字段(前4个字段分别是月、日、时:分:秒、主机名),不设的话缺省取程序名称;
第二个参数是选项,是下面一些标志位的组合,如(LOG_PID | LOG_CONS):

 

option参数

 

LOG_PID // 在日志信息中包含进程标识符,这是系统分配给每个进程的一个唯一值

 

LOG_CONS // 如果信息不能被记录到日志文件中,就把它们发送到控制台

 

LOG_ODELAY // 在第一次调用syslog时才打开日志功能

 

LOG_NDELAY // 立即打开日志功能,而不是等到第一次记录日志时

 

第三个参数是说明日志类型的:

 

LOG_AUTH
LOG_AUTHPRIV
LOG_CRON
LOG_DAEMON
LOG_KERN
LOG_LOCAL0 - LOG_LOCAL7 (编程中用户自定义)
LOG_LPR
LOG_MAIL
LOG_NEWS
LOG_SYSLOG
LOG_USER  (default)
LOG_UUCP

 


syslog()函数主要的是第一个参数priority,后面那些参数就是和printf( )函数用法一样了,priority值表示该条日志的级别,日志级别分8级,由高到低的顺序为:

 

LOG_EMERG // 紧急情况

 

LOG_ALERT // 高优先级故障,例如数据库崩溃

 

LOG_CRIT // 严重错误,例如硬件故障

 

LOG_ERR // 错误

 

LOG_WARNING // 警告

 

LOG_NOTICE // 需要注意的特殊情况

 

LOG_INFO // 一般信息

 

LOG_DEBUG // 调试信息

 

根据系统配 置,LOG_EMERG信息可能会广播给所有用户,LOG_ALERT信息可能会EMAIL给管理员,LOG_DEBUG信息可能会被忽略,而其他信息则 写入日志文件。当我们编写的程序需要使用日志记录功能时,只要在希望创建一条日志信息时简单的调用syslog函数即可。如果openlog( )时没有指定facility,是可以把facility的值或到priority中的,如(LOG_AUTH | LOG_INFO),已经设置了就可以不用或了。

 

参考链接:https://blog.csdn.net/sirria1/article/details/105117850

 

 

 

下面是一个简单的函数,需要时侯调用,就可以将数据信息保存到对应日志文件

我这里设置的是LOCAL1,会保存在/var/log/local1 文件中

int logger()
{
	openlog("test:",LOG_CONS | LOG_PID,0);               //"test" 会默认保存在日期,时间,机器号(默认字段)后面
	syslog(LOG_WARNING|LOG_LOCAL1,"writen fail in program:\n");
	closelog();
}

  

 

标签:LOG,系统,信息,syslog,rsyslog,Linux,日志,log
From: https://www.cnblogs.com/genm/p/17286002.html

相关文章

  • 1797. 设计一个验证系统
    题目链接:1797.设计一个验证系统方法:哈希解题思路注意:在判断\(tokenId\)是否出现过时,使用\(Time.count(tokenId)\),而不是使用\(Time[tokenId]\),因为只要使用之后,\(tokenId\)就会被添加进\(map\)中,影响后续计数的结果。代码classAuthenticationManager{private:......
  • vmware中安装windows11系统
    1、官网下载windwos11镜像(点击跳转下载)  2、打开vmware,创建新的虚拟机3、选择典型方便快捷 4、选择安装程序光盘文件,点击浏览选择刚刚下载好的iso镜像5、选择windows版本号我的vmware是16版本没有windwos11选项直接选择最新windows10X64版本 6、命名存放位置根据自......
  • 可编程逻辑器件和数字系统设计初步
    可编程逻辑器件传统通用逻辑器件:逻辑规模小、占用印刷板面积大、功耗大、可靠性低专用集成电路ASIC(ApplicationSpecificIntegratedCircuit),针对特定用途可编程逻辑器件PLD(ProgrammableLogicDevice),属于ASIC:可由设计者自己完成逻辑功能,系统集成度高、可靠性高、设计过程灵活......
  • 8086指令系统
     《8086寻址方式》寻址主要可以分为3类:数据寻址程序转移地址寻址(即查找下一条指令的地址)端口寻址解释一下端口:  端口也要编址,其编址方式有两种:1.集中编址   ......
  • 智能客服系统具有什么功能?
    现在,多功能智能客服系统越来越受到人们的关注和欢迎,渐渐地也有更多的公司开始选择使用智能客服系统为自己提供更方便的服务,那么智能客服系统有什么功能?一、智能机器人。这个功能是智能客服系统的基本功能,也是其中的一个重要功能,因为智能机器人的存在,可以让企业不需要花那么多的人......
  • 连夜干出来一个自动处理【支付宝交易支付投诉管理系统】,支持多商户
    大家好,我是小悟1、问题背景关于支付宝交易支付投诉,目前有两个入口,一个是从账单详情页中点击【对此订单有疑问】>【交易投诉】进行反馈,从这个入口的投诉数据是在支付宝商家平台-账号中心-小程序与代扣等投诉列表显示。另一个入口是从账单详情页中点击【投诉】>【举报中心】进行......
  • Windows(Server)、Linux服务器如何修改用户名和密码?
    开通服务器后,为了安全起见,应及时修改默认账户名和密码,不熟悉的人也建议不要随意提供服务器信息给对方,以防对方进入服务器修改数据,养成定期修改密码可以提高服务器的安全性,今天给大家分享一下服务器修改用户名和密码的方法,修改方法如下:一、WindowsServer2003、20081、远程登录服务......
  • 智能客服系统有哪些功能?
    现在,多功能智能客服系统越来越受到人们的关注和欢迎,渐渐地也有更多的公司开始选择使用智能客服系统为自己提供更方便的服务,那么智能客服系统有什么功能?一、智能机器人。这个功能是智能客服系统的基本功能,也是其中的一个重要功能,因为智能机器人的存在,可以让企业不需要花那么多的人......
  • 荣耀magicbook安装Linux系统boot fail问题解决
    偶然网上冲浪,发现了Debian系的kalilinux有点意思,刚好手边有一台不怎么用的荣耀magicbook,于是准备装个双系统好不容易下完了kali的镜像,使rufus写入了U盘但是在安装过程中怎么安装都显示bootfail,切换了n个版本的Linux系统,发现还是这样,但是实测Debian11是可以进入引导项的最后所......
  • 一套简单的 Nginx 日志展示
    采用架构Nginx+Promtail+Loki+Grafana做个简单的Nginx日志展示本文无安装,简要点出配置需求。Nginx用编译安装(本文不做叙述),Promtail和Loki都选用二进制的方式进行安装,直接下载对应版本的二进制文件,解压后指定配置文件启动即可。promtail配置文件内容:server:http_listen_......