Skip to content

Command Logging Progress

Ross Scroggs edited this page Sep 30, 2024 · 8 revisions

Command Logging and Progress

Introduction

Starting with version 6.07.00, GAM can log its commands to a file.

Display of gam batch|tbatch|csv|loop progress messages has been improved.

Command Logging

The following keywords in gam.cfg control logging of GAM commands.

cmdlog
        Path to GAM Log file; there is no logging if cmdlog is empty
        Default: ''
cmdlog_max_backups
        Maximum number of backup log files
        Default: 5
        Range: 1 - 10
cmdlog_max_kilo_bytes
        Maximum kilobytes per log file
        Default: 1000
        Range: 100 - 10000

If cmdlog specifies a relative file path, it is appended to config_dir in the current section if defined or config_dir in [DEFAULT]. This makes it easy to have distinct log files when you have multiple clients/tenants defined in gam.cfg

You use the cmdlog_max_kilo_bytes and cmdlog_max_backups values to cause the log file to rollover at a predetermined size. When the log file is nearly cmdlog_max_kilo_bytes in length, it is closed and a new log file is silently opened for output. The system will save old log files by appending .N, to the filename. For example, with a cmdlog_max_backups of 5 and a base log file name of gam.log, you would get gam.log, gam.log.1, gam.log.2, up to gam.log.5. The log file being written to is always gam.log. When this log file is filled, it is closed and renamed to gam.log.1, and if files gam.log.1, gam.log.2, etc. exist, then they are renamed to gam.log.2, gam.log.3 etc. respectively.

Commands are logged at completion with a timestamp, return code and the command line

2021-08-01T19:350:30.777-07:00,0,/Users/admin/bin/gam7/gam info domain

Commands that generate sub-commands, gam batch|tbatch|csv|loop, log the initial command with a return code of *, the sub-command lines and the initial command with a numeric return code.

$ gam redirect stdout usernames.csv multiprocess redirect stderr stdout csv users.csv gam info user "~primaryEmail" quick name
2021-08-01T19:50:38.151-07:00,0/6,Using 6 processes...
$ more ~/.gam/gam.log
2021-08-01T19:50:38.120-07:00,*,/Users/admin/bin/gam7/gam redirect stdout usernames.csv multiprocess redirect stderr stdout csv users.csv showcmds false gam info user "~primaryEmail" quick name
2021-08-01T19:50:39.144-07:00,0,gam info user testuser2 quick name
2021-08-01T19:50:39.358-07:00,0,gam info user testuser3 quick name
2021-08-01T19:50:39.358-07:00,0,gam info user testuser1 quick name
2021-08-01T19:50:39.401-07:00,0,gam info user testuser5 quick name
2021-08-01T19:50:39.459-07:00,56,gam info user testuserx quick name
2021-08-01T19:50:39.470-07:00,0,gam info user testuser4 quick name
2021-08-01T19:50:39.483-07:00,0,/Users/admin/bin/gam7/gam redirect stdout usernames.csv multiprocess redirect stderr stdout csv users.csv showcmds false gam info user "~primaryEmail" quick name

Command Progress

Added the following keyword to gam.cfg to display sub-commands to stderr when executing gam batch|tbatch|csv|loop. The commands are displayed when initiated/completed so you can monitor GAM's progress.

show_commands
        Display commands to stderr when executing `gam batch|tbatch|csv|loop`.
        Default: False

This value will be used when not overridden by the showcmds [<Boolean>] command line option; see Bulk Processing.

Sub-commands are displayed at initiation with a timestamp, index/total, Start, 0 and the sub-command line.

Sub-commands are displayed at completion with a timestamp, index/total, End, return code and the sub-command line.

$ gam redirect stdout usernames.csv multiprocess redirect stderr stdout csv users.csv showcmds true gam info user "~primaryEmail" quick name
2021-08-01T19:46:07.845-07:00,0/6,Using 6 processes...
2021-08-01T19:46:07.846-07:00,1/6,Start,0,gam info user testuser1 quick name
2021-08-01T19:46:07.846-07:00,2/6,Start,0,gam info user testuser2 quick name
2021-08-01T19:46:07.846-07:00,3/6,Start,0,gam info user testuser3 quick name
2021-08-01T19:46:07.846-07:00,4/6,Start,0,gam info user testuser4 quick name
2021-08-01T19:46:07.846-07:00,5/6,Start,0,gam info user testuser5 quick name
2021-08-01T19:46:07.846-07:00,6/6,Start,0,gam info user testuserx quick name
2021-08-01T19:46:08.827-07:00,3/6,End,0,gam info user testuser3 quick name
2021-08-01T19:46:08.983-07:00,2/6,End,0,gam info user testuser2 quick name
2021-08-01T19:46:08.983-07:00,1/6,End,0,gam info user testuser1 quick name
2021-08-01T19:46:09.049-07:00,6/6,End,56,gam info user testuserx quick name
2021-08-01T19:46:09.059-07:00,5/6,End,0,gam info user testuser5 quick name
2021-08-01T19:46:09.079-07:00,4/6,End,0,gam info user testuser4 quick name
2021-08-01T19:46:09.083-07:00,0/6,Complete

Update History

Installation

Configuration

Notes and Information

Definitions

Command Processing

Collections

Client Access

Special Service Account Access

Service Account Access

Clone this wiki locally