From: Carl Hetherington Date: Mon, 27 Apr 2020 21:51:03 +0000 (+0200) Subject: Writer on macOS runs as root, so trying to use the config_path() X-Git-Tag: v2.15.63 X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=baed8bf5fd429305685cc180184e99094cd64339 Writer on macOS runs as root, so trying to use the config_path() to log to will end up trying to write to root's home. Instead, log to stdout as the process control stuff redirects that into /var/log anyway. --- diff --git a/src/lib/wscript b/src/lib/wscript index 802020527..1eac718e3 100644 --- a/src/lib/wscript +++ b/src/lib/wscript @@ -165,6 +165,7 @@ sources = """ transcode_job.cc types.cc signal_manager.cc + stdout_log.cc update_checker.cc upload_job.cc uploader.cc diff --git a/src/tools/dcpomatic_disk_writer.cc b/src/tools/dcpomatic_disk_writer.cc index c38e35e3e..e63a7a7a9 100644 --- a/src/tools/dcpomatic_disk_writer.cc +++ b/src/tools/dcpomatic_disk_writer.cc @@ -42,6 +42,7 @@ extern "C" { #endif #ifdef DCPOMATIC_OSX +#include "lib/stdout_log.h" #undef nil extern "C" { #include @@ -504,11 +505,20 @@ try int main () { +#ifdef DCPOMATIC_OSX + /* On macOS this is running as root, so config_path() will be somewhere in root's + * home. Instead, just write to stdout as the macOS process control stuff will + * redirect this to a file in /var/log + */ + dcpomatic_log.reset(new StdoutLog(LogEntry::TYPE_DISK)); + LOG_DISK_NC("dcpomatic_disk_writer started"); +#else /* XXX: this is a hack, but I expect we'll need logs and I'm not sure if there's * a better place to put them. */ dcpomatic_log.reset(new FileLog(config_path() / "disk_writer.log", LogEntry::TYPE_DISK)); LOG_DISK_NC("dcpomatic_disk_writer started"); +#endif try { nanomsg = new Nanomsg (false);