@jasnon
You can replace current code snippet with this new code snippet
for additional display of time, posted field values, username, IP, browser and current user ID.
if ( ! isset( $args['user_id'] )) {
$trace = '<div>' . date_i18n( 'Y-m-d H:i:s ', current_time( 'timestamp' )) . '</div>';
if ( is_array( $_POST )) {
$trace .= '<div>POST field values by the UM Form:</div>';
foreach ( $_POST as $key => $value ) {
if ( is_array( $value )) {
$value = 'array: ' . implode( ', ', $value );
}
if ( strpos( $key, 'password' ) !== false ) {
$value = '***************';
}
$trace .= '<div>' . esc_html( $key ) . ' => ' . esc_html( $value ) . '</div>';
}
}
$trace .= '<div>form_id: ' . $form_id . '</div>';
$trace .= '<div>mode: ' . $mode . '</div>';
$trace .= '<div># fields: ' . count( $fields ) . '</div>';
if ( isset( $args['username'] )) $trace .= '<div>username: ' . $args['username'] . '</div>';
$trace .= '<div>IP: ' . um_user_ip() . '</div>';
if ( ! class_exists( '\Browser' ) ) require_once um_path . 'includes/lib/browser.php';
$browser = new \Browser();
$trace .= '<div>User Agent String: ' . $browser . '</div>';
global $current_user;
if ( isset( $current_user->ID )) $trace .= '<div>current user ID: ' . $current_user->ID . '</div>';
if ( ! empty( get_current_user_id() )) $trace .= '<div>get_current_user_id(): ' . get_current_user_id() . '</div>';
$e = new \Exception;
$trace .= '<div><pre>' . $e->getTraceAsString() . '</pre><div>';
file_put_contents( WP_CONTENT_DIR . '/um_trace_log.html', $trace, FILE_APPEND );
}