aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorluigi1111 <luigi1111w@gmail.com>2018-12-29 15:02:18 -0600
committerluigi1111 <luigi1111w@gmail.com>2018-12-29 15:02:18 -0600
commitf2fad10483081d6415e6dd108b8bcdffc9358d55 (patch)
tree2c2cc0da01c1614fec877eacdf8f25c365adb568
parent48a267f631c18d3159cccfc551d72cc5aeb0df03 (diff)
parent125e1d4a19c2329964cdeee4f0942696294dc5a4 (diff)
downloadmonzero-gui-f2fad10483081d6415e6dd108b8bcdffc9358d55.tar.gz
monzero-gui-f2fad10483081d6415e6dd108b8bcdffc9358d55.tar.xz
monzero-gui-f2fad10483081d6415e6dd108b8bcdffc9358d55.zip
Merge pull request #1800
125e1d4 Logging: fix logging file paths (mmbyday)
-rw-r--r--Logger.cpp33
1 files changed, 26 insertions, 7 deletions
diff --git a/Logger.cpp b/Logger.cpp
index 660bafcc..6b1daba4 100644
--- a/Logger.cpp
+++ b/Logger.cpp
@@ -2,32 +2,51 @@
#include <QStandardPaths>
#include <QFileInfo>
#include <QString>
+#include <QDir>
+#include <QDebug>
#include "Logger.h"
#include "wallet/api/wallet2_api.h"
// default log path by OS (should be writable)
-static const QString default_name = "monero-wallet-gui.log";
-#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS)
+static const QString defaultLogName = "monero-wallet-gui.log";
+#if defined(Q_OS_IOS)
+ //AppDataLocation = "<APPROOT>/Library/Application Support"
static const QString osPath = QStandardPaths::standardLocations(QStandardPaths::AppDataLocation).at(0);
+ static const QString appFolder = "monero-wallet-gui";
#elif defined(Q_OS_WIN)
- static const QString osPath = QCoreApplication::applicationDirPath();
+ //AppDataLocation = "C:/Users/<USER>/AppData/Roaming/<APPNAME>"
+ static const QString osPath = QStandardPaths::standardLocations(QStandardPaths::AppDataLocation).at(0);
+ static const QString appFolder = "monero-wallet-gui";
+#elif defined(Q_OS_ANDROID)
+ //AppDataLocation = "<USER>/<APPNAME>/files"
+ static const QString osPath = QStandardPaths::standardLocations(QStandardPaths::AppDataLocation).at(1);
+ static const QString appFolder = "";
#elif defined(Q_OS_MAC)
- static const QString osPath = QStandardPaths::standardLocations(QStandardPaths::HomeLocation).at(0) + "/Library/Logs";
+ //HomeLocation = "~"
+ static const QString osPath = QStandardPaths::standardLocations(QStandardPaths::HomeLocation).at(0);
+ static const QString appFolder = "Library/Logs";
#else // linux + bsd
+ //HomeLocation = "~"
static const QString osPath = QStandardPaths::standardLocations(QStandardPaths::HomeLocation).at(0);
+ static const QString appFolder = ".bitmonero";
#endif
-// return the absolute path of the logfile
+// return the absolute path of the logfile and ensure path folder exists
const QString getLogPath(const QString logPath)
{
const QFileInfo fi(logPath);
if(!logPath.isEmpty() && !fi.isDir())
return fi.absoluteFilePath();
- else
- return osPath + "/" + default_name;
+ else {
+ QDir appDir(osPath + "/" + appFolder);
+ if(!appDir.exists())
+ if(!appDir.mkpath("."))
+ qWarning() << "Logger: Cannot create log directory " + appDir.path();
+ return appDir.path() + "/" + defaultLogName;
+ }
}