LINUX下C语言编程怎么打印日志

刚刚工作,以前看过别人写的代码调试完后都可以打印日志来查看日志,自己新参加工作,给服务器发包什么的,开始发总是出问题,带我的人就一直和我说你打印个日志出来,然后看日志。但是我不会,只能printf把变量值输出到屏幕上看,也想写的更专业一点,求大神指点。那个日志是怎么做的,是自己写的函数,还是LINUX自带这种功能或函数,要怎么用。希望可以有一小段代码例子。还有日志的存放位置,写一个项目日志要存在同一个工程里吗

用log4c等专业打印log的模块打印日志

#include
void syslog(int priority, const char *message, argument);
功能:将message输出到/var/log/message文件中

priority有如下这些:
LOG_EMERG
LOG_ALERT
LOG_CRIT
LOG_ERR
LOG_WARNING
LOG_NOTICE
LOG_INFO
LOG_DEBUG

例子:
syslog(LOG_INFO, "output some info here");

用log4c等专业打印log的模块打印日志