mirror of
https://github.com/QuasarApp/QuasarAppLib.git
synced 2025-04-28 10:44:41 +00:00
Merge branch 'master' of github.com:QuasarApp/QuasarAppLib
This commit is contained in:
commit
eea36f0e62
@ -59,5 +59,5 @@ RESOURCES += \
|
|||||||
|
|
||||||
include(Etalons/qmake/ccache.pri)
|
include(Etalons/qmake/ccache.pri)
|
||||||
|
|
||||||
VERSION = 1.3.1
|
VERSION = 1.3.2
|
||||||
|
|
||||||
|
45
params.cpp
45
params.cpp
@ -11,6 +11,7 @@
|
|||||||
#include <QFileInfo>
|
#include <QFileInfo>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <QDateTime>
|
#include <QDateTime>
|
||||||
|
#include <QCoreApplication>
|
||||||
|
|
||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
||||||
#include "windows.h"
|
#include "windows.h"
|
||||||
@ -28,39 +29,28 @@ bool Params::isEndable(const QString& key) {
|
|||||||
return params.contains(key);
|
return params.contains(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Params::verboseLog(const QString &log, VerboseLvl vLvl) {
|
void Params::log(const QString &log, VerboseLvl vLvl) {
|
||||||
|
|
||||||
writeLoginFile(log, vLvl);
|
writeLoginFile(log, vLvl);
|
||||||
|
|
||||||
if (isEndable("verbose")) {
|
auto lvl = static_cast<VerboseLvl>(getArg("verbose", DEFAULT_VERBOSE_LVL).toInt());
|
||||||
|
|
||||||
auto lvl = static_cast<VerboseLvl>(getArg("verbose").toInt());
|
|
||||||
|
|
||||||
if (vLvl <= lvl) {
|
if (vLvl <= lvl) {
|
||||||
|
|
||||||
switch (vLvl) {
|
switch (vLvl) {
|
||||||
|
|
||||||
case VerboseLvl::Error: {
|
case VerboseLvl::Error:
|
||||||
qCritical() << lvlToString(vLvl) + ": " + log;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
case VerboseLvl::Warning: {
|
case VerboseLvl::Warning: {
|
||||||
qWarning() << lvlToString(vLvl) + ": " + log;
|
std::cerr << lvlToString(vLvl) + ": " + log.toStdString() << std::endl;
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
case VerboseLvl::Info: {
|
|
||||||
qInfo() << lvlToString(vLvl) + ": " + log;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
default: {
|
default: {
|
||||||
qDebug() << lvlToString(vLvl) + ": " + log;
|
std::cout << lvlToString(vLvl) + ": " + log.toStdString() << std::endl;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -70,7 +60,6 @@ Help::Charters Params::getparamsHelp() {
|
|||||||
"Base Options", {
|
"Base Options", {
|
||||||
{"-verbose (level 1 - 3)", "Shows debug log"},
|
{"-verbose (level 1 - 3)", "Shows debug log"},
|
||||||
{"-fileLog (path to file)", "Sets path of log file. Default it is path to executable file with suffix '.log'"},
|
{"-fileLog (path to file)", "Sets path of log file. Default it is path to executable file with suffix '.log'"},
|
||||||
{"noWriteInFileLog", "Disables loging into file"}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -105,7 +94,7 @@ QString Params::timeString() {
|
|||||||
return QDateTime::currentDateTime().toString();
|
return QDateTime::currentDateTime().toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
QString Params::lvlToString(VerboseLvl vLvl) {
|
std::string Params::lvlToString(VerboseLvl vLvl) {
|
||||||
switch (vLvl) {
|
switch (vLvl) {
|
||||||
|
|
||||||
case VerboseLvl::Error: {
|
case VerboseLvl::Error: {
|
||||||
@ -123,18 +112,19 @@ QString Params::lvlToString(VerboseLvl vLvl) {
|
|||||||
case VerboseLvl::Debug: {
|
case VerboseLvl::Debug: {
|
||||||
return "Verbose log";
|
return "Verbose log";
|
||||||
}
|
}
|
||||||
|
default: return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Params::writeLoginFile(const QString &log, VerboseLvl vLvl) {
|
bool Params::writeLoginFile(const QString &log, VerboseLvl vLvl) {
|
||||||
if (!isEndable("noWriteInFileLog")) {
|
if (isEndable("fileLog")) {
|
||||||
|
|
||||||
QString path = getStrArg("appPath") + "/" + getStrArg("appName") + ".log";
|
QString path = getStrArg("appPath") + "/" + getStrArg("appName") + ".log";
|
||||||
|
auto file = getStrArg("fileLog");
|
||||||
if (isEndable("fileLog")) {
|
if (file.size()) {
|
||||||
QString path = getStrArg("fileLog");
|
QString path = file;
|
||||||
}
|
}
|
||||||
|
|
||||||
QFile logFile(path);
|
QFile logFile(path);
|
||||||
@ -142,7 +132,7 @@ bool Params::writeLoginFile(const QString &log, VerboseLvl vLvl) {
|
|||||||
if (logFile.open(QIODevice::WriteOnly | QIODevice::Append | QIODevice::Text)) {
|
if (logFile.open(QIODevice::WriteOnly | QIODevice::Append | QIODevice::Text)) {
|
||||||
|
|
||||||
QTextStream stream(&logFile);
|
QTextStream stream(&logFile);
|
||||||
stream << timeString() <<"| " << lvlToString(vLvl) + ": " + log << endl;
|
stream << timeString() <<"| " << QString::fromStdString(lvlToString(vLvl)) + ": " + log << endl;
|
||||||
logFile.close();
|
logFile.close();
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
@ -184,7 +174,8 @@ bool Params::parseParams(const QStringList ¶msArray) {
|
|||||||
memset(path, 0, sizeof path);
|
memset(path, 0, sizeof path);
|
||||||
|
|
||||||
if (readlink("/proc/self/exe", path, 2048) < 0) {
|
if (readlink("/proc/self/exe", path, 2048) < 0) {
|
||||||
qWarning() << "parseParams can't get self path!" ;
|
QuasarAppUtils::Params::log("parseParams can't get self path!",
|
||||||
|
QuasarAppUtils::Error);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
params ["appPath"] = QFileInfo(path).absolutePath();
|
params ["appPath"] = QFileInfo(path).absolutePath();
|
||||||
@ -202,7 +193,9 @@ bool Params::parseParams(const QStringList ¶msArray) {
|
|||||||
params[paramsArray[i].mid(1)] = paramsArray[i + 1];
|
params[paramsArray[i].mid(1)] = paramsArray[i + 1];
|
||||||
i++;
|
i++;
|
||||||
} else {
|
} else {
|
||||||
qWarning() << "Missing argument for " + paramsArray[i] ;
|
QuasarAppUtils::Params::log("Missing argument for " + paramsArray[i],
|
||||||
|
QuasarAppUtils::Error);
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
params[paramsArray[i]] = "";
|
params[paramsArray[i]] = "";
|
||||||
|
13
params.h
13
params.h
@ -19,17 +19,20 @@ namespace QuasarAppUtils {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
enum VerboseLvl {
|
enum VerboseLvl {
|
||||||
Debug = 0x0,
|
Info = 0x0,
|
||||||
Error = 0x1,
|
Error = 0x1,
|
||||||
Warning = 0x2,
|
Warning = 0x2,
|
||||||
Info = 0x3,
|
Debug = 0x3,
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define DEFAULT_VERBOSE_LVL "1"
|
||||||
|
|
||||||
class QUASARAPPSHARED_EXPORT Params
|
class QUASARAPPSHARED_EXPORT Params
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
static QString timeString();
|
static QString timeString();
|
||||||
static QString lvlToString(VerboseLvl vLvl);
|
static std::string lvlToString(VerboseLvl vLvl);
|
||||||
static bool writeLoginFile(const QString& log, VerboseLvl vLvl = VerboseLvl::Debug);
|
static bool writeLoginFile(const QString& log, VerboseLvl vLvl = VerboseLvl::Debug);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -88,10 +91,10 @@ public:
|
|||||||
static bool isEndable(const QString& key);
|
static bool isEndable(const QString& key);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief verboseLog - print text on console if the flag "vergose" is enabled
|
* @brief log - print text on console if the flag "vergose" is enabled
|
||||||
* @param log - printed text
|
* @param log - printed text
|
||||||
*/
|
*/
|
||||||
static void verboseLog(const QString& log, VerboseLvl vLvl = VerboseLvl::Debug);
|
static void log(const QString& log, VerboseLvl vLvl = VerboseLvl::Debug);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief getparamsHelp
|
* @brief getparamsHelp
|
||||||
|
Loading…
x
Reference in New Issue
Block a user