How to enable error logs and debug mode in WordPress using Azure Cloud?

Take out the @ini_set. I’m not sure what your intent is there, but you’re doing two different things. Your setting for WP_DEBUG_DISPLAY is telling it to display errors (set to true), and then you’re turning around and telling it not to (ini_set to 0).

The value of WP_DEBUG_DISPLAY is used to determine whether ini_set() to set display_errors to 1 or 0. So not only is there no need to set it again, you’re actually defining the exact opposite value of what you just set. See wp_debug_mode() where this is set.

The debug.log file will only be created if there is an actual error to display, but it may not necessarily be saved to /wp-content/debug.log by default. If you’re not certain it’s logging to the default, you can use the WP_DEBUG_LOG constant to define a custom error log file name and location. For example, instead of setting WP_DEBUG_LOG to true (which specifies the default), define the location of the log file when defining the constant:

define( 'WP_DEBUG_LOG', dirname( __FILE__ ) . '/wp-content/my.log' );

Instead of testing this with var_dump(), try writing something to the error log:

error_log( 'checking my error log' );

Then check to make sure the error was written to the error log location you expect it (whether custom or default as described above).

It is possible that the issue you have is a fatal error occurring before WP initializes, in which case you’ll need to explore something other than WP for the problem. In that case, you probably do need the ini_set() function, but you need to set it to 1 to display the error on the screen (you have it set to 0, which suppresses on-screen messaging).