centos rsyslog配置及简单应用

前端之家收集整理的这篇文章主要介绍了centos rsyslog配置及简单应用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

配置:

$template testdailylog,"/var/log/uniqs/%programname%/%programname%_%syslogseverity-text%_%$year%-%$month%-%$day%.log"
if $syslogfacility-text == "local3" then {
    action(type="omfile"
        fileOwner="uniqs" filegroup="uniqs" dynafile="testdailylog")
    stop
}

简单代码
#include<syslog.h>
#include<iostream>

int main()
{
    openlog("gamesvr",LOG_CONS|LOG_PID,LOG_LOCAL3);
    syslog(LOG_INFO,"######################################################################################## server start...\n");
    std::string strInput = "test log type:%s";
    syslog(LOG_EMERG,strInput.c_str(),"LOG_EMERG");
    syslog(LOG_ALERT,"LOG_ALERT");
    syslog(LOG_CRIT,"LOG_CRIT");
    syslog(LOG_ERR,"LOG_ERR");
    syslog(LOG_WARNING,"LOG_WARNING");
    syslog(LOG_NOTICE,"LOG_NOTICE");
    syslog(LOG_INFO,"LOG_INFO");
    syslog(LOG_DEBUG,"LOG_DEBUG");
    std::cin>>strInput;
    while(true)
    {
        syslog(LOG_INFO,strInput.c_str());
        if(strInput == "e"||strInput == "E")
        {
            break;
        }
        std::cin>>strInput;
    }
    syslog(LOG_INFO,"######################################################################################## server stop...\n");
    closelog();
    return 0;
}

说明:可以简单封一下,要不有可能程序异常结束时closelog()没有被调用到。删除日志时小心一点,用cat /dev/null>abc.log 这种方式,不要直接删除,直接删除后续日志会没有写到文件中。

缺陷:不能跨平台。

优点:API简洁、速度快。

猜你在找的CentOS相关文章