Linux日志信息

Linux系统会把各种信息写入日志
比如普通用户申请超级用户的权限,还有一些错误或者警告信息等。
这些信息被记录在日志中,一般在/var/log中

(1)将信息写入到日志中
void syslog(int priority, const char* message, argument...);
priority 代表信息的重要性;这个参数会把信息message写入到不同的位置
priority取值可以查看手册解释
message是需要写入日志的信息

#include
#include
#include
int main()
{
        FILE* fp = fopen("test.dat","r");
        if(!fp)
        {
                syslog(LOG_ERR|LOG_USER, "file error:%m");
                return 0;
        }
        return 0;
}


这个程序没有输出,输出到了日志文件中。


(2)改变日志的记录行为
日志的记录有自己的格式还有方式,想要让日志的记录按照自己的想法改变,可以用下面一组函数
void closelog();
void openlog(const char* ident, int logopt, int facility);
int setlogmask(int maskpri);

openlog函数会打开日志文件,将字符串ident写在日志信息前,这相当于一个标志,让你知道这条日志信息。
logopt是日志的行为配置,可以查看文档选择,比如其中一个选择是LOG_PID,表示要把PID日志信息当中
facility是日志的优先级
setlogmask函数会修改日志的权限

你可能感兴趣的:(linux,c++)