// // FileLogger.cpp // interface/src // // Created by Stojce Slavkovski on 12/22/13. // Copyright 2013 High Fidelity, Inc. // // Distributed under the Apache License, Version 2.0. // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // #include "FileLogger.h" #include "HifiSockAddr.h" #include #include #include #include #include const QString FILENAME_FORMAT = "hifi-log_%1_%2.txt"; const QString DATETIME_FORMAT = "yyyy-MM-dd_hh.mm.ss"; const QString LOGS_DIRECTORY = "Logs"; FileLogger::FileLogger(QObject* parent) : AbstractLoggerInterface(parent), _logData("") { setExtraDebugging(false); _fileName = FileUtils::standardPath(LOGS_DIRECTORY); QHostAddress clientAddress = getLocalAddress(); QDateTime now = QDateTime::currentDateTime(); _fileName.append(QString(FILENAME_FORMAT).arg(clientAddress.toString(), now.toString(DATETIME_FORMAT))); } void FileLogger::addMessage(QString message) { QMutexLocker locker(&_mutex); emit logReceived(message); _logData += message; QFile file(_fileName); if (file.open(QIODevice::WriteOnly | QIODevice::Append | QIODevice::Text)) { QTextStream out(&file); out << message; } } void FileLogger::locateLog() { FileUtils::locateFile(_fileName); }