Postgresql Log message without its statement
If you want to suppress the "STATEMENT" information, then you could set log_min_error_statement = fatal (or panic).

If you want to keep the STATEMENT information but compress it into a single line with the main entry, then you could set log_destination = 'csvlog'.  Technically it will still be multiple lines, but the internal newlines will be escaped by inclusion within double quotes, which any good csv parser will handle for you.