Logging and structured log files

Helix server can be configured to write log files in a structured (.csv) format.

Structured log files:

  • contain more detail than conventional log files
  • make it easier to import the data into other tools, such as spreadsheets, for further reporting and detailed analysis

The Logging commands help you work with structured log files.

All p4d error and info logs are in UTF8 for a server in unicode mode. You need an UTF8 console or editor to properly render this log information.

For more details, see the Knowledge Base article, "Structured Server Logs".

Note
  • 2020.1 Structured logging improvements:
    • All event types have a new version 50, which adds a unique command identifier and the current serverId after the command number field (5th column).
    • For commands that result in log events being written on multiple servers, the unique command identifier propagates across the server to allow those events to be matched. Examples include submits from edge servers, replica forwarded commands, remote depot access, and P4AUTH.
    • The 11.50 trigger event type has two additional fields:
      • a trigger type of 'trigger', 'extension' or 'bgtask'
      • an execution lapse time
    • trigger arguments are now separated by the colon : character to match the command arguments format.
    • The serverlog.version.N configurable can be used to pin a structured log file to a specific server version's format. For example:
      • to retain the 2019.2 structured log events format, set this configurable to 49
      • to retain the format of 2019.1, set this configurable to 48.
  • To see the protocol levels for every release, see Protocol levels of server and client by release .

Examples of possible log entries

The following is a subset of possible log entries:

Entry Meaning
rmt-Journal

Used by a p4 pull thread on a replica server to retrieve journal records that contain metadata from a master.

  • in the replica server log, you might see the pull processes
  • in the master log, you might see rmt-Journal entries corresponding to the metadata being pulled from the master to the replica server
rmt-FileFetch

Used by p4 pull -u on an replica server to retrieve archive files, or by parallel submit from an replica server to transfer archive files from the replica server to the master.

  • In the master log, you might see rmt-FileFetch entries from the pull -u commands running on replica servers.
  • In the Edge Server log, you might see rmt-FileFetch entries during parallel submit from the pull command running on the Commit Server to get the archives onto the Commit Server
Monitor or log entries

user-transmit -t <taskID> [-b batch -s batchsize -r]

Processes spawned by parallel sync, submit, or shelve that transfer batches of files in parallel. The arguments correspond to the batch and batchsize arguments of the parallel sync, submit, or shelve command.

  • The internally-generated -r argument indicates that the parallel submit or shelve transfers from the client to the server, rather than server to client (like sync)
  • The -t argument is internal