方法一:

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自定义存储路径的方法的更多相关文章

  1. paip兼容windows与linux的java类根目录路径的方法

    paip兼容windows与linux的java类根目录路径的方法 1.只有 pathx.class.getResource("")或者pathx.class.getResourc ...

  2. linux中tar 打包指定路径文件

    linux中tar打包指定路径文件www.111cn.net 编辑:yahoo 来源:转载在linux系统中打包与解压文件我都可以使用tar命令来解决,只要使用不同的参数就可以实现不同的需要了,下面来 ...

  3. unity中的文件存储路径与各平台(Android,iOS)的关系

    原文链接:unity中的文件存储路径与各平台(Android,iOS)的关系 主要是这个问题困扰我了一阵子,所以特写写... unity中的的各种存储方法的对应关系(直接上截图吧) 重点说的是Appl ...

  4. linux中可以查看端口占用的方法

    在自己搭建的服务器中,经常容易出现端口被占用的问题,那么怎么知道自己的端口是否被占用了呢? 可以使用下面的方法: linux中可以查看端口占用的方法. netstat -ant | grep 80 ( ...

  5. linux系统各种日志存储路径和详细介绍

    Linux常见的日志文件详述如下1./var/log/boot.log(自检过程)2./var/log/cron (crontab守护进程crond所派生的子进程的动作)3./var/log/mail ...

  6. Linux中监控命令top命令使用方法详解

    收集了两篇关于介绍Linux中监控命令top命令的详细使用方法的文章.总的来说,top命令主要用来查看Linux系统的各个进程和系统资源占用情况,在监控Linux系统性能方面top显得非常有用,下面就 ...

  7. linux中vsftpd登陆慢卡问题解决方法

    1.修改服务器上的/etc/resolv.conf令其内容只有类似 nameserver 192.81.133.229 nameserver 114.114.114.114 出现问题的机器的resol ...

  8. Linux中date命令的各种实用方法--转载

    在linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到时间的运算,自己也曾经为时间的各种表示方法和如何修改时间而困惑,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的 ...

  9. Linux中date命令的各种实用方法

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://521cto.blog.51cto.com/950229/935642 在linu ...

随机推荐

  1. 更精炼更专注的RTMPClient客户端EasyRTMPClient,满足直播、转发、分析等各种需求

    现状 EasyRTMPClient,熟悉的朋友就会联想到EasyRTSPClient项目(https://github.com/EasyDSS/EasyRTSPClient),EasyRTSPClie ...

  2. 九度OJ 1081:递推数列 (递归,二分法)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:6194 解决:864 题目描述: 给定a0,a1,以及an=p*a(n-1) + q*a(n-2)中的p,q.这里n >= 2. 求第 ...

  3. Linux RabbitMQ的安装、环境配置、远程访问 , Windows 下安装的RabbitMQ远程访问

    Linux  RabbitMQ的安装和环境配置 1.安装 RabbitMQ是使用Erlang语言编写的,所以安装RabbitMQ之前,先要安装Erlang环境 #对原来的yum官方源做个备份 1.mv ...

  4. ES5中的类与继承

    最近在重新复习TypeScript,看到类这块的时候自然会和ES5中的类写法进行对比加深印象. 发现ES5的类与继承一些细节还是挺多的,时间久了容易忘记,特此记录下. 首先是ES5的类定义,这没什么好 ...

  5. php总结3——基本函数、流程控制中的循环

    3.1 php基本函数(数学.日期.字符串) 数学函数:max         mixed max(number $arg1,number $arg2,……)  求一组数据中的最大值        m ...

  6. javac 编译源文件出现"java:1: 需要为 class、interface 或 enum"、" [javac] 锘縫"错误

    [javac] HelloWorld.java:1: 需要为 class.interface 或 enum [javac] 锘縫ackage com.csdn.demo; [javac] ^ [jav ...

  7. 0CTF 2017 部分Web的某些不一样的思路

    洒家参加了0CTF 2017,做了一些题目.赛后过了好几天,看网上已经有了一些写得不错的Writeup,这里就写一写洒家的一些不一样的思路. 一些不错的Writeup https://ctftime. ...

  8. bootstrap.min.css.map

    问题:引入bootstrap..min.css的时候出现了URL:bootstrap.min.css.map 404的错误. 解决方法:将bootstrap.min.css里的最后一行/*# sour ...

  9. CentOS 7 设置自定义开机启动,添加自定义系统服务

    详细文档,http://www.linuxidc.com/Linux/2015-04/115937.htm 摘自: http://www.centoscn.com/CentOS/config/2015 ...

  10. ES设置字段搜索权重——Query-Time Boosting

    Query-Time Boosting In Prioritizing Clauses, we explained how you could use the boost parameter at s ...