See Apache Log Files server documentation and Apache Core Features (ErrorLogFormat Directive). I assume the Java implementation of Apache in Tomcat uses roughly the same syntax.
A - (minus) modifier causes a minus to be logged if the respective item in the log entry codes does not produce any output, as Evert said above.
Your normal log entry:
1.1.1.1 - - [30/Jun/2020:04:55:31 +0000] "GET / HTTP/1.1" 404 533
appears to be using Common Log Format (CLF), i.e.,
LogFormat "%h %l %u %t \"%r\" %>s %b" common
Where the first entry is the IP address of the client (remote host) which made the request to the server. The two minus signs probably represent missing identity and user ID (see the Logs document cited). The next field is obviously date and time. The next field, quoted, is the request line from the client: First, the method used by the client is GET. Second, the client requested the public document root "/", and third, the client used the protocol HTTP/1.0. Your server returned status code 404 to the client and the size of the object returned to the client, not including the response headers, was 533 bytes.
Now, your unusual log entry,
1.1.1.1 - - [30/Jun/2020:04:55:31 +0000] "-" 400 1921
is missing the request line from the client, so a minus sign is entered there. As to what could possibly send such a request, if you are connected to the internet it could be some robot probing your server. You can reverse identify IP address easily with cqcounter whois, e.g., "1.1.1.1" appears to be some Australian outfit APNIC Research and Development, probably benign.