syslog - 日志文件详解
日志文件,是linux最为重要的记录文件,记录着日常的操作。
我们在linux编程的时候,通常会使用日志文件记录操作和信息,日志系统提供了我们几个API接口供调用
1. API
void openlog(const char *ident, int option, int facility); //关联日志文件
void syslog(int priority, const char *format, ...); //写入信息
void closelog(void); //关闭关联
参数
- ident: 一般设置为程序名,如果为NULL, 则默认为本程序名;将该指向的程序输出的信息写入到syslog中
- option:
| option | Description |
|---|---|
| LOG_CONS | 如果信息无法写入到syslog,那么直接打印到控制端 |
| LOG_NDELAY | 立刻开启链接到syslog |
| LOG_NOWAIT | 不要等待可能建立的子进程 |
| LOG_ODELAY | 与LOG_NDELAY相反 |
| LOG_PERROR | 错误信息也打印到stderr |
| LOG_PID | 每次打印信息,都加上进程的ID号 |
- facility: 程序以何种方式打印信息
| facility | Description |
|---|---|
| LOG_AUTH | security/authorization messages |
| LOG_AUTHPRIV | security/authorization messages (private) |
| LOG_CRON | clock daemon (cron and at) |
| LOG_DAEMON | system daemons without separate facility value |
| LOG_FTP | ftp daemon |
| LOG_KERN | kernel messages (these can't be generated from user processes) |
| LOG_LPR | line printer subsystem |
| LOG_MAIL | mail subsystem |
| LOG_NEWS | USENET news subsystem |
| LOG_SYSLOG | messages generated internally by syslogd(8) |
| LOG_USER (default) | generic user-level messages |
| LOG_UUCP | UUCP subsystem |
- priority: 信息的重要程度,为
facility | level(按位或),level的值如下:
| level | Description |
|---|---|
| LOG_EMERG | system is unusable |
| LOG_ALERT | action must be taken immediately |
| LOG_CRIT | critical conditions |
| LOG_ERR | error conditions |
| LOG_WARNING | warning conditions |
| LOG_NOTICE | normal, but significant, condition |
| LOG_INFO | informational message |
| LOG_DEBUG | debug-level message |
2. 清空/误删syslog
有的时候,我们需要清空syslog的所有信息,以便我们使用它调试我们的项目。
但是,新手往往不知道如何清空syslog这个日志文件:
- 正确方式:
cat /dev/null > /etc/init.d/syslog
- 错误方式:
- 直接
rm -f /etc/init.d/syslog
vim /etc/init.d/syslog,然后删除所有内容
解决办法:
- 错误1后,千万不能自己touch一个syslog出来,这样根本写不进去的;
- 错误2后,一定记得也把这个syslog文件删除
- 重启syslogd这个守候进程: /etc/init.d/rsyslog restart (ubuntu为例)
- syslog会自动生成
当然网上也有其它说法,但我的ubuntu是采用以上方式完成重建的,试了其它的博客说的方法都是无效的。
对了,我的ubuntu的版本是:
root@jimmy-vm:~# uname -a
Linux jimmy-vm 4.4.0-119-generic #143-Ubuntu SMP Mon Apr 2 16:08:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
root@jimmy-vm:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04 LTS
Release: 16.04
Codename: xenial
root@jimmy-vm:~# cat /etc/issue
Ubuntu 16.04 LTS \n \l
syslog - 日志文件详解的更多相关文章
- syslog之一:Linux syslog日志系统详解
目录: <syslog之一:Linux syslog日志系统详解> <syslog之二:syslog协议及rsyslog服务全解析> <syslog之三:建立Window ...
- 关于syslog日志功能详解 事件日志分析、EventLog Analyzer
关于syslog日志功能详解 事件日志分析.EventLog Analyzer 一.日志管理 保障网络安全 Windows系统日志分析 Syslog日志分析 应用程序日志分析 Windows终端服务器 ...
- apache日志文件详解和实用分析命令
apache日志文件每条数据的请意义,以及一些实用日志分析命令. 一.日志分析 如果apache的安装时采用默认的配置,那么在/logs目录下就会生成两个文件,分别是access_log和error ...
- VSFTP日志文件详解
开启FTP服务器记录上传下载的情况,如果启用该选项,系统将会维护记录服务器上传和下载情况的日志文件.默认情况下,该日志文件为 /var/log/vsftpd.log # This depends on ...
- MySQL提升笔记(3)日志文件详解
在MySQL数据库和InnoDB存储引擎中,有很多种文件,如:参数文件.日志文件.socket文件.pid文件.MySQL表结构文件.存储引擎文件. 本节重点关注日志文件,MySQL的复制.事务等重要 ...
- Linux /var/log下的各种日志文件详解
1)/var/log/secure:记录登录系统存取数据的文件;例如:pop3,ssh,telnet,ftp等都会记录在此. 2)/var/log/wtmp:记录登录这的信息记录,被编码过,所以必须以 ...
- Centos系统各种日志存详解
Centos系统各种日志存储路径和详细介绍 Linux常见的日志文件详述如下 1./var/log/boot.log(自检过程) 2./var/log/cron (crontab守护进程crond所派 ...
- Linux中/proc目录下文件详解
转载于:http://blog.chinaunix.net/uid-10449864-id-2956854.html Linux中/proc目录下文件详解(一)/proc文件系统下的多种文件提供的系统 ...
- VSFTPD全攻略(/etc/vsftpd/vsftpd.conf文件详解)
/etc/vsftpd/vsftpd.conf文件详解,分好类,方便大家查找与学习 #################匿名权限控制############### anonymous_enable=YE ...
随机推荐
- 编写高质量iOS与OS X代码的52个有效方法
第一章重点: 第一条:OC的起源 OC由smalltalk语言演化而来的语言为消息结构(messaging structure)语言,其运行时所因执行的的代码由运行环境来决定:函数调用(functio ...
- 10.Date对象
Date()对象 Date对象用于处理日期和时间. Math对象 ◆Math.ceil() 天花板函数 向上取整 ★如果是整数,取整之后是这个数本身 ★如果是小数,对数进行向上舍入. ◆Ma ...
- 如何实现php手机短信验证功能
http://www.qdexun.cn/jsp/news/shownews.do?method=GetqtnewsdetailAction&id=1677 下载php源代码 现在网站在建设网 ...
- Elasticsearch 系列2 --- 安装elasticsearch-head管理工具
elasticsearch-head是elasticsearch的一个管理页面,它的官网是https://github.com/mobz/elasticsearch-head 通过官网我们得知,ES5 ...
- .net图表之ECharts随笔07-自定义系列(多边形)
搞了一天多,才勉强搞出了一个不紧凑的六边形统计图,是真的菜. 这里ECharts的用法与06说的同一种,直接使用带all的js 先上个效果图,用面积来表示人数的多少 1. 参数option的toolt ...
- Linux Shell脚本编程基础(11)
实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核,不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序.Shel编程语言具有普通编程 ...
- jQuery基础(1)
一.jQuery的介绍 1.为什么要使用jQuery? 在用js写代码时,会遇到一些问题,如下: 1)window.onload 事件有事件覆盖的问题,因此只能写一个事件: 2)代码容错性差: 3)浏 ...
- Akka(20): Stream:异步运算,压力缓冲-Async, batching backpressure and buffering
akka-stream原则上是一种推式(push-model)的数据流.push-model和pull-model的区别在于它们解决问题倾向性:push模式面向高效的数据流下游(fast-downst ...
- tomcat设置默认欢迎页、server.xml配置文件中的标签理解
一:要求:输入网址,不加文件名便可以访问默认页面 (1)项目中只有静态文件 方法:更改tomcat下的conf目录下的web.xml文件,如下图: <welcom-file-list>元素 ...
- 用yourls 搭建短链接地址服务
最近工作中遇到一个需求,将app下载地址变成短链接进行推广,索性就研究了下yourls . 发现这个玩意功能挺强大的,不但可以批量生成自己的短地址,还可以管理,统计每个短地址点击数量,还可以提供api ...