麒麟系统使用log4加入日志
1.使用log4添加日志
#include "mainwindow.h"
#include <QApplication>
#include <ukui-log4qt.h>
#include <qdebug.h>
//#include <QStandardPaths>
int main(int argc, char *argv[])
{
//qputenv("QT_SCALE_FACTOR", "2.0");
initUkuiLog4qt("untitled");
QApplication a(argc, argv);
MainWindow w;
w.show();
qDebug() << "untitled 8 started!";
return a.exec();
}
会在~/.log目录下生成一个untutle.log的日志
2.使用syslog添加日志
https://blog.csdn.net/zhizhengguan/article/details/111597389
1)建立一个到系统日志的连接
openlog()函数建立一个到系统日志工具的连接并为后续的 syslog()调用设置默认设置
syslog()的调用是可选的,如果省略了这个调用,那么就会使用首次调用 syslog()时采用的默认设置来建立到日志记录工具的连接。
头文件添加syslog.h
//add log
#include <syslog.h>
openlog("info",LOG_PID,LOG_LOCAL5);
syslog(LOG_INFO,"------------------------ templatePath is %s \n",templatePath.toLocal8Bit().constData());
syslog(LOG_INFO,"------------------------ homeUri is %s \n",homeUri.toLocal8Bit().constData());
closelog();
2.可以在syslog里添加打印代码所在函数,行,文件等信息。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
printf(" __FUNCTION__: %s\n", __func__);
printf(" __func__: %s\n", __func__);
printf(" __LINE__: %d\n", __LINE__);
printf(" __FILE__: %s\n", __FILE__);
printf(" __DATE__: %s\n", __DATE__);
printf(" __TIME__: %s\n", __TIME__);
return(0);
}
运行结果
__func__: main
__LINE__: 8
__FILE__: F:\Arnold_Test\20211124_opencvTest\TEST\源.cpp
__DATE__: Dec 4 2021
__TIME__: 17:01:48
__func__: main
printf("FILE[%s] FUNC[%s] LINE[%d]: readlines succeed!\n", __FILE__, __FUNCTION__, __LINE__);