Skip to content

Commit f4a5578

Browse files
committed
Temporary logger fix to allow plugins to write to same log file
1 parent 21505d7 commit f4a5578

3 files changed

Lines changed: 23 additions & 18 deletions

File tree

Plugins/PhaseDetector/PhaseDetector.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ void PhaseDetector::process (AudioBuffer<float>& buffer)
212212

213213
addEvent(ptr, i);
214214

215-
//LOGD("PEAK");
215+
//LOGD("[phase detector] PEAK found!");
216216
}
217217

218218
module->currentPhase = FALLING_POS;

Source/MainWindow.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,15 +44,14 @@ MainWindow::MainWindow(const File& fileToLoad)
4444
if (activityLog.exists())
4545
activityLog.deleteFile();
4646

47-
OELogger::instance().createLogFile(activityLog.getFullPathName().toStdString());
47+
OELogger::GetInstance(activityLog.getFullPathName().toStdString());
48+
49+
LOGC("Session Start Time: ", Time::getCurrentTime().toString(true, true, true, true));
4850

49-
std::cout << "Session Start Time: " << Time::getCurrentTime().toString(true, true, true, true) << std::endl;
50-
std::cout << std::endl;
5151
LOGC("Open Ephys GUI v", JUCEApplication::getInstance()->getApplicationVersion(), " (Plugin API v", PLUGIN_API_VER, ")");
5252
LOGC(SystemStats::getJUCEVersion());
5353
LOGC("Operating System: ", SystemStats::getOperatingSystemName());
5454
LOGC("CPU: ", SystemStats::getCpuModel(), " (", SystemStats::getNumCpus(), " core)");
55-
std::cout << std::endl;
5655

5756
setResizable(true, // isResizable
5857
false); // useBottomCornerRisizer -- doesn't work very well

Source/Utils/Utils.h

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,41 +11,41 @@
1111

1212
/* Log Action -- taken by user */
1313
#define LOGA(...) \
14-
OELogger::instance().LOGFile("[open-ephys][action] ", __VA_ARGS__);
14+
OELogger::GetInstance().LOGFile("[open-ephys][action] ", __VA_ARGS__);
1515

1616
/* Log Buffer -- related logs i.e. inside process() method */
1717
#define LOGB(...) \
18-
OELogger::instance().LOGFile("[open-ephys][buffer] ", __VA_ARGS__);
18+
OELogger::GetInstance().LOGFile("[open-ephys][buffer] ", __VA_ARGS__);
1919

2020
/* Log Console -- gets printed to the GUI Debug Console */
2121
#define LOGC(...) \
22-
OELogger::instance().LOGConsole("[open-ephys] ", __VA_ARGS__);
22+
OELogger::GetInstance().LOGConsole("[open-ephys] ", __VA_ARGS__);
2323

2424
/* Log Debug -- gets printed to the console in debug mode, to file otherwise */
2525
#ifdef DEBUG
2626

2727
#define LOGD(...) \
28-
OELogger::instance().LOGConsole("[open-ephys][debug] ", __VA_ARGS__);
28+
OELogger::GetInstance().LOGConsole("[open-ephys][debug] ", __VA_ARGS__);
2929
#else
3030
/* Log Debug -- gets printed to the log file */
3131
#define LOGD(...) \
32-
OELogger::instance().LOGFile("[open-ephys][debug] ", __VA_ARGS__);
32+
OELogger::GetInstance().LOGFile("[open-ephys][debug] ", __VA_ARGS__);
3333
#endif
3434

3535
/* Log Deep Debug -- gets printed to log file (e.g. enable after a crash to get more details) */
3636
#define LOGDD(...) \
37-
OELogger::instance().LOGFile("[open-ephys][ddebug] ", __VA_ARGS__);
37+
OELogger::GetInstance().LOGFile("[open-ephys][ddebug] ", __VA_ARGS__);
3838

3939
/* Log Error -- gets printed to console with flare */
4040
#define LOGE(...) \
41-
OELogger::instance().LOGError("[open-ephys] ***ERROR*** ", __VA_ARGS__);
41+
OELogger::GetInstance().LOGError("[open-ephys] ***ERROR*** ", __VA_ARGS__);
4242

4343
/* Log File -- gets printed directly to main output file */
4444
#define LOGF(...) LOGD(...)
4545

4646
/* Log Graph -- gets logs related to processor graph generation/modification events */
4747
#define LOGG(...) \
48-
OELogger::instance().LOGFile("[open-ephys][graph] ", __VA_ARGS__);
48+
OELogger::GetInstance().LOGFile("[open-ephys][graph] ", __VA_ARGS__);
4949

5050
/* Thread-safe logger */
5151
class OELogger
@@ -57,10 +57,10 @@ std::ofstream logFile;
5757

5858
OELogger() { }
5959
public:
60-
static OELogger& instance()
60+
static OELogger& GetInstance(const std::string& log_file = "activity.log")
6161
{
62-
static OELogger lg;
63-
return lg;
62+
static OELogger instance(log_file);
63+
return instance;
6464
}
6565

6666
OELogger(OELogger const&) = delete;
@@ -100,12 +100,18 @@ std::ofstream logFile;
100100
// Each time the GUI is launched, a new error log is generated.
101101
// In case of a crash, the most recent file is appended with a datestring
102102
logFile.open(filePath, std::ios::out | std::ios::app);
103-
time_t now = time(0);
104-
logFile << "[open-ephys] Session start time: " << ctime(&now);
105103
}
106104

107105
private:
106+
OELogger(const std::string& log_file) : log_file(log_file)
107+
{
108+
if (!logFileExists)
109+
createLogFile(log_file);
110+
logFileExists = true;
111+
}
108112
std::mutex mt;
113+
std::string log_file;
114+
bool logFileExists = false;
109115
};
110116

111117

0 commit comments

Comments
 (0)