Skip to main content
Titanis tools produce two separate streams:
  • Primary output — the results of the command, written to STDOUT.
  • Log messages — status and diagnostic information, written to STDERR.
This separation means you can pipe or redirect primary output without mixing it with log noise.

Output styles

Most commands print primary output as a sequence of records. Use -OutputStyle to choose how those records are formatted:
StyleDescription
TableEach record is printed as a row within a table.
ListEach field of each record is printed on a separate line as <field>: <value>, with a blank line between records.
CsvEach record is printed as comma-separated values.
TsvEach record is printed as tab-separated values.
JsonEach record is printed as a JSON object within an array.
RawRaw byte stream to STDOUT. Used by commands that deal with raw binary data.
# Print results as JSON
Kerb select -From milchick.kirbi -OutputStyle Json

# Print as tab-separated values, suitable for scripting
Smb2Client ls \\LUMON-FS1\C$ -UserName [email protected] -Password pass -OutputStyle Tsv

Selecting output fields

Use -OutputFields to specify which fields to include in the output. The available fields for each command are listed in its help text (-?).
Kerb select -From milchick.kirbi \
  -OutputFields UserName, TargetSpn, StartTime, EndTime
Specifying certain fields may change the command’s behavior. For example, requesting a field that requires additional data may cause the command to make an extra request to the server.

Logging

During execution, tools write log messages to STDERR. Each message carries a severity level.

Log levels

By default, only messages at Info level and above are printed. Use -LogLevel to change this threshold, or use the shorthand flags:
FlagEquivalentDescription
(none)-LogLevel InfoInfo, Warning, and Error messages
-v-LogLevel VerboseAdds verbose messages
-vv-LogLevel DiagnosticAdds low-level diagnostic messages
# Show diagnostic output for a Kerberos request
Kerb asreq [email protected] 10.66.0.11 -Password Br3@kr00m! -vv -OutputFileName milchick.kirbi

Log format

Use -LogFormat to control the structure of log messages on the console:
OptionDescriptionExample
TextSeverity, category, and message text[Kerberos] DIAG: Requesting TGT for realm LUMON.IND for user milchick (nonce=-40593729)
TextWithTimestampSame as Text with an ISO-formatted timestamp prepended[2025-10-23T16:14:09.6977870Z][Kerberos] DIAG: Requesting TGT for realm LUMON.IND for user milchick (nonce=-40593729)
JsonNewline-delimited JSON objects{"Severity":"Diagnostic","SeverityValue":-200,"Source":"Kerberos","MessageId":0,"MessageText":"Requesting TGT for realm LUMON.IND...","Parameters":null}
# Use JSON log format for machine-parseable output
Smb2Client ls \\LUMON-FS1\C$ -UserName [email protected] -Password pass \
  -Kdc 10.66.0.11 -LogFormat Json 2>smb-log.json
Set default log level and format globally using TITANIS_DEFAULT_LOGLEVEL and TITANIS_DEFAULT_LOGFORMAT environment variables so you don’t have to repeat them on every command. See Parameter defaults.

Build docs developers (and LLMs) love