Is it possible to enable `showXcodeLog` on the server side in Appium?

I currently use showXcodeLog: true from the client side in my tests. I’m wondering if there’s a way to activate showXcodeLog on the server side instead.

My setup:

* Appium version: 2.4.1
* XCUITest driver version: 5.13.2

Can someone explain how to configure this?

From my experience, you can enable showXcodeLog directly when starting the Appium server by passing it as a driver-specific argument:

appium --allow-insecure=showXcodeLog --use-plugins=xcuitest --default-capabilities ‘{“showXcodeLog”: true}’

This sets it globally for all iOS sessions. I’ve used this in CI pipelines so I didn’t have to modify every test capability individually.

If you run Appium with a config file, you can enable showXcodeLog on the server side for all iOS tests:

exports.config = {
  defaultCapabilities: {
    platformName: "iOS",
    "appium:showXcodeLog": true
  },
  // other Appium server config
};

I found this approach cleaner because you don’t need to touch test scripts — every session inherits the setting.

Another method I use is setting the XCUITest driver logging via environment variables. While it’s not exactly a showXcodeLog flag, it achieves the same goal by dumping Xcode logs:

export APPIUM_XCUIT_SHOW_XCODE_LOG=true
appium

This way, you can turn it on/off on the server level, which is handy for debugging CI failures without modifying client capabilities.