linux中syslog自定义存储路径的方法
方法一:
1、 su //切换到root用户下
2、 cp /etc/sysconfig/rsyslog /etc/sysconfig/rsyslogbak //备份
vim /etc/sysconfig/rsyslog
修改SYSLOGD_OPTIONS: SYSLOGD_OPTIONS=”-r –x –m 0”
3、 cp /etc/rsyslog.conf /etc/rsyslog.confbak //备份
vim /etc/rsyslog.conf
加入:
local0.* /var/log/my.log //local0-local7是用户自定义,只需要在openlog时的最后一个参数指定为对应的LOG_LOCAL0-LOG_LOCAL7即可
mkdir /var/log/my.log //建立要存储日志的目录
4、 重启服务器
/etc/init.d/rsyslog restart
5、测试代码
#include <syslog.h>
int main (int argc, char **argv)
{
Openlog (“mymsg”, LOG_CONS | LOG_PID, LOG_LOCAL0);
syslog (LOG_EMERG, "This is a syslog test message generated by program ' %s'/n", argv[0]);
closelog();
return 0;
}
6、查看 cat /var/log/my.log
方法二:
这个方法比较简便不需要配置日志服务器,下面是源代码
#include <fcntl.h>
#include <unistd.h>
#include <string.h>
#include <syslog.h>
#include <assert.h>
#include <stdio.h>
#include <time.h>
int syslog1( )
{
int logfd;
int stder;
time_t t1;
logfd = open( "log.self", O_RDWR | O_CREAT | O_APPEND, 0644 );
assert( -1 != logfd );
/* 保存标准错误的文件描述符 */
dup2(STDERR_FILENO,stder);
/* 关闭标准文件描述 */
close( STDERR_FILENO );
/* 把自己创建的文件描述符付给标准出错 */
dup2( logfd, STDERR_FILENO );
/* 关闭自己的文件描述符 */
close( logfd );
openlog( "syslog2", LOG_PERROR, LOG_DAEMON );
syslog( LOG_DEBUG, "%s\n", ctime(&t1));
/* 恢复标准出错 */
dup2(stder, STDERR_FILENO);
/* 关闭临时文件描述符 */
close(stder);
closelog();
return 0;
}
int main()
{
syslog1();
fprintf(stderr,"hello\n");
}
方法 三
使用库 log4c,但这个是不支持多线程并发的
方法四
使用zlog库,这个支持多线程,短小精悍
linux中syslog自定义存储路径的方法的更多相关文章
- paip兼容windows与linux的java类根目录路径的方法
paip兼容windows与linux的java类根目录路径的方法 1.只有 pathx.class.getResource("")或者pathx.class.getResourc ...
- linux中tar 打包指定路径文件
linux中tar打包指定路径文件www.111cn.net 编辑:yahoo 来源:转载在linux系统中打包与解压文件我都可以使用tar命令来解决,只要使用不同的参数就可以实现不同的需要了,下面来 ...
- unity中的文件存储路径与各平台(Android,iOS)的关系
原文链接:unity中的文件存储路径与各平台(Android,iOS)的关系 主要是这个问题困扰我了一阵子,所以特写写... unity中的的各种存储方法的对应关系(直接上截图吧) 重点说的是Appl ...
- linux中可以查看端口占用的方法
在自己搭建的服务器中,经常容易出现端口被占用的问题,那么怎么知道自己的端口是否被占用了呢? 可以使用下面的方法: linux中可以查看端口占用的方法. netstat -ant | grep 80 ( ...
- linux系统各种日志存储路径和详细介绍
Linux常见的日志文件详述如下1./var/log/boot.log(自检过程)2./var/log/cron (crontab守护进程crond所派生的子进程的动作)3./var/log/mail ...
- Linux中监控命令top命令使用方法详解
收集了两篇关于介绍Linux中监控命令top命令的详细使用方法的文章.总的来说,top命令主要用来查看Linux系统的各个进程和系统资源占用情况,在监控Linux系统性能方面top显得非常有用,下面就 ...
- linux中vsftpd登陆慢卡问题解决方法
1.修改服务器上的/etc/resolv.conf令其内容只有类似 nameserver 192.81.133.229 nameserver 114.114.114.114 出现问题的机器的resol ...
- Linux中date命令的各种实用方法--转载
在linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到时间的运算,自己也曾经为时间的各种表示方法和如何修改时间而困惑,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的 ...
- Linux中date命令的各种实用方法
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://521cto.blog.51cto.com/950229/935642 在linu ...
随机推荐
- [转] 盘点8种CSS实现垂直居中水平居中的绝对定位居中技术
转自:http://blog.csdn.net/freshlover/article/details/11579669 Ⅰ.绝对定位居中(Absolute Centering)技术 我们经常用marg ...
- 校验时间冲突SQL写法
校验时间是否有冲突,时间是就是看两个时间断是否有交集(写法有两种): a.SELECT * FROM xxx WHERE (startTime > a AND startTime < b) ...
- vc2013使用经验
1 find all reference功能需要visual assist的帮助 vs2013自己的查找不行,所以可以安装visual assist X,这样的话,就可以支持快速准确的referenc ...
- 一文看透 Redis 分布式锁进化史(解读 + 缺陷分析)(转)
近两年来微服务变得越来越热门,越来越多的应用部署在分布式环境中,在分布式环境中,数据一致性是一直以来需要关注并且去解决的问题,分布式锁也就成为了一种广泛使用的技术,常用的分布式实现方式为Redis,Z ...
- Java使用到的常用类总结
基本类型 常用:int.long.double.boolean. 不常用:byte.float.char.short
- Flask:程序结构
在Flask中需要配置各种各样的参数.比如设置秘钥,比如上一章介绍到的配置数据库类型. app.config['SECRET_KEY']=os.urandom(20) app.config['SQLA ...
- 大家都是怎么看待STO的?
STO,全称为「Security Token Offer」,即证券型通证发行.STO是2017年底从美国开始流行的,对于在美国注册的公司,STO是一个合法合规的ICO. 对于STO,大家都是怎么看待的 ...
- Java8系列之重新认识HashMap(转)
转自美团电瓶技术团队:原文地址 简介 Java为数据结构中的映射定义了一个接口java.util.Map,此接口主要有四个常用的实现类,分别是HashMap.Hashtable.LinkedHashM ...
- Java for LeetCode 134 Gas Station
There are N gas stations along a circular route, where the amount of gas at station i is gas[i]. You ...
- Automator 实例:使用快捷键 实现 快速在当前路径 打开 iTerm
1. 在 finder -> 应用程序 或 通过 Spotlight 打开:Automator.app 2. 选择新建 “服务” 3. 设置服务,见下图,设置完成之后,command + s 保 ...