Log Level
BOMnipotent Client offers several severity levels of logs:
- error
- warn
- info (default)
- debug
- trace
They can be selected via:
bomnipotent_client --log-level=<LEVEL> <COMMAND>
bomnipotent_client -l <LEVEL> <COMMAND>
This defines the minimum severity level for a message to be logged: Choosing log level debug makes BOMnipotent print all messages of severity error, warn, info and debug, but not trace.
By default, BOMnipotent Client logs messages to stdout, regardless of severity level. You can instruct it to log to a file instead.
Info, Warn and Error
The default log-level is info. It prints some information, but does not overwhelm the user.
bomnipotent_client health
[INFO] The service at https://bomnipotent_server_of_your_choice is healthy.
bomnipotent_client bom list
[INFO]
╭────────────────────────┬─────────┬─────────────────────────┬───────────┬────────────╮
│ Product │ Version │ Timestamp │ TLP │ Components │
├────────────────────────┼─────────┼─────────────────────────┼───────────┼────────────┤
│ Best Project │ 3.1.4 │ 2025-01-01 10:11:12 UTC │ TLP:GREEN │ 75 │
│ Your Project │ 1.0.0 │ 2025-01-01 10:11:12 UTC │ Default │ 75 │
│ Your Project │ 1.1.0 │ 2025-01-01 10:11:12 UTC │ Default │ 75 │
│ Your Project Container │ 1.2.3 │ 2025-01-01 10:11:12 UTC │ TLP:WHITE │ 939 │
╰────────────────────────┴─────────┴─────────────────────────┴───────────┴────────────╯
Debug
The debug output mode prints some additional information which may be of interest when looking for the cause of an error in the input or setup:
bomnipotent_client --log-level=debug health | tail -n 10
bomnipotent_client -l debug health | tail -n 10
[DEBUG] Not resuming
[DEBUG] TLS1.3 encrypted extensions: ServerExtensions { server_name_ack: (), unknown_extensions: {}, .. }
[DEBUG] ALPN protocol is None
[DEBUG] Call<RecvResponse>
[DEBUG] Call<RecvBody>
[DEBUG] Response { status: 200, version: HTTP/1.1, headers: {"content-type": "text/plain; charset=utf-8", "content-length": "68", "date": "Wed, 01 Jan 2025 10:11:12 GMT", "<NOTICE>": "2 HEADERS ARE REDACTED"} }
[DEBUG] No additional log messages received.
[DEBUG] Call<Cleanup>
[DEBUG] Pool gone: PoolKey { scheme: "https", authority: bomnipotent_server_of_your_choice, proxy: None }
[INFO] The service at https://bomnipotent_server_of_your_choice is healthy.
Trace
In output mode trace, BOMnipotent prints everything it finds even the slightest bit interesting. This is mainly useful for finding the cause of an error in the program itself.
bomnipotent_client --log-level=trace health | grep "TRACE" | head -n 10
bomnipotent_client -l trace health | grep "TRACE" | head -n 10
[TRACE] Running command Health with args Arguments {
[TRACE] Using platform's default root certificates.
[TRACE] Concatenated message for hash:
[TRACE] Armored signature:
[TRACE] Resolve: bomnipotent_server_of_your_choice:443
[TRACE] Try connect TcpStream to 172.20.0.3:443
[TRACE] Try wrap in TLS
[TRACE] Sending ClientHello Message {
[TRACE] 4745 5420 2f68 6561 6c74 6820 4854 5450 GET./health.HTTP
[TRACE] 2f31 2e31 0d0a 6163 6365 7074 3a20 2a2f /1.1..accept:.*/