mirror of
https://github.com/hrydgard/ppsspp.git
synced 2024-10-08 03:13:25 +00:00
Common: Use C FILE for log file output.
Not strictly needed for Android paths, but may be convenient.
This commit is contained in:
parent
2999e1cb86
commit
df8e80d4fb
@ -291,12 +291,13 @@ void LogManager::RemoveListener(LogListener *listener) {
|
||||
}
|
||||
|
||||
FileLogListener::FileLogListener(const char *filename) {
|
||||
#if defined(_WIN32) && !defined(__MINGW32__)
|
||||
m_logfile.open(ConvertUTF8ToWString(filename).c_str(), std::ios::app);
|
||||
#else
|
||||
m_logfile.open(filename, std::ios::app);
|
||||
#endif
|
||||
SetEnabled(true);
|
||||
fp_ = File::OpenCFile(filename, "at");
|
||||
SetEnabled(fp_ != nullptr);
|
||||
}
|
||||
|
||||
FileLogListener::~FileLogListener() {
|
||||
if (fp_)
|
||||
fclose(fp_);
|
||||
}
|
||||
|
||||
void FileLogListener::Log(const LogMessage &message) {
|
||||
@ -304,7 +305,8 @@ void FileLogListener::Log(const LogMessage &message) {
|
||||
return;
|
||||
|
||||
std::lock_guard<std::mutex> lk(m_log_lock);
|
||||
m_logfile << message.timestamp << " " << message.header << " " << message.msg << std::flush;
|
||||
fprintf(fp_, "%s %s %s", message.timestamp, message.header, message.msg.c_str());
|
||||
fflush(fp_);
|
||||
}
|
||||
|
||||
void OutputDebugStringLogListener::Log(const LogMessage &message) {
|
||||
|
@ -19,10 +19,10 @@
|
||||
|
||||
#include "ppsspp_config.h"
|
||||
|
||||
#include <fstream>
|
||||
#include <mutex>
|
||||
#include <vector>
|
||||
#include <cstdarg>
|
||||
#include <cstdio>
|
||||
|
||||
#include "Common/Data/Format/IniFile.h"
|
||||
#include "Common/CommonFuncs.h"
|
||||
@ -53,18 +53,19 @@ public:
|
||||
class FileLogListener : public LogListener {
|
||||
public:
|
||||
FileLogListener(const char *filename);
|
||||
~FileLogListener();
|
||||
|
||||
void Log(const LogMessage &msg);
|
||||
|
||||
bool IsValid() { if (!m_logfile) return false; else return true; }
|
||||
bool IsValid() { if (!fp_) return false; else return true; }
|
||||
bool IsEnabled() const { return m_enable; }
|
||||
void SetEnabled(bool enable) { m_enable = enable; }
|
||||
|
||||
const char* GetName() const { return "file"; }
|
||||
const char *GetName() const { return "file"; }
|
||||
|
||||
private:
|
||||
std::mutex m_log_lock;
|
||||
std::ofstream m_logfile;
|
||||
FILE *fp_ = nullptr;
|
||||
bool m_enable;
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user