diff --git a/docs/api/app.md b/docs/api/app.md index e050a0e66bf..5759178bf40 100644 --- a/docs/api/app.md +++ b/docs/api/app.md @@ -582,7 +582,7 @@ them. Sets or creates a directory your app's logs which can then be manipulated with `app.getPath()` or `app.setPath(pathName, newPath)`. -On _macOS_, this directory will be set by default to `/Library/Logs/YourAppName`, and on _Linux_ and _Windows_ it will be placed inside your `userData` directory. +Calling `app.setAppLogsPath()` without a `path` parameter will result in this directory being set to `/Library/Logs/YourAppName` on _macOS_, and inside the `userData` directory on _Linux_ and _Windows_. ### `app.getAppPath()` diff --git a/shell/browser/api/atom_api_app.cc b/shell/browser/api/atom_api_app.cc index 8532119ec3d..b20ceebc8fc 100644 --- a/shell/browser/api/atom_api_app.cc +++ b/shell/browser/api/atom_api_app.cc @@ -871,8 +871,15 @@ base::FilePath App::GetPath(mate::Arguments* args, const std::string& name) { int key = GetPathConstant(name); if (key >= 0) succeed = base::PathService::Get(key, &path); - if (!succeed) - args->ThrowError("Failed to get '" + name + "' path"); + if (!succeed) { + if (name == "logs") { + args->ThrowError("Failed to get '" + name + + "' path: setAppLogsPath() must be called first."); + } else { + args->ThrowError("Failed to get '" + name + "' path"); + } + } + return path; }