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 ...
随机推荐
- wmiprvse.exe 进程占CPU过高 问题解决
wmiprvse.exe是一个系统服务的进程,你可以结束任务,进程自然消失. 禁用Windows Management Instrumentation Driver Extensions服务或者改为手 ...
- Filebeat+ELK
Filebeat+ELK filebeat是logstash的升级版,从功能上来说肯定不如logstash,但是logstah比较耗费资源: filebeat安装 暂时依托于window系统 下载fi ...
- 原型模式 private static Map<String,Prototype> map = new HashMap<String,Prototype>();
public class PrototypeManager { /** * 用来记录原型的编号和原型实例的对应关系 */ private static Map<String,Prototype& ...
- sql server charindex函数和patindex函数详解(转)
charindex和patindex函数常常用来在一段字符中搜索字符或字符串.假如被搜索的字符中包含有要搜索的字符,那么这两个函数返回一个非零的整数,这个整数是要搜索的字符在被搜索的字符中的开始位数. ...
- python中的raw字符串
在正则表达式的字符串前面加上r表示这个是一个raw字符串,只以正则表达式的元字符进行解析,不用理会ascii的特殊字符.
- 在java项目中使用protobuf
1 通用方式 第一步,定义数据结构 第二步,使用protoc.exe生成java代码 第三步,序列化 第四步,反序列化 2 grpc方式 grpc官方推荐的方式,通过maven插件来生成java代码. ...
- Chrome性能分析工具lightHouse用法指南
本文主要讲如何使用Chrome开发者工具linghtHouse进行页面性能分析. 1.安装插件 非常简单,点击右上角的“添加至Chrome”即可. 2.使用方式 1)打开要测试的页面,点击浏览器右上角 ...
- Android 破解
一.反编译 默认你的电脑中完好的有java环境 1.下载 Android killer 链接: https://pan.baidu.com/s/1s6lfm8CbdU9ABYEOhdFWxA 提取码 ...
- POJ 1330 Nearest Common Ancestors 【最近公共祖先LCA算法+Tarjan离线算法】
Nearest Common Ancestors Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 20715 Accept ...
- Spring Boot2.0之热部署原理
所谓的热部署:比如项目的热部署,就是在应用程序在不停止的情况下,实现新的部署 原理: 实用类加载器(classloader重新读取字节码文件到jvm内存) 如何纯手写一个热部署功能: 1.监听 cla ...