Session Logs¶
Session logs are a way for users to keep track of work they have done. They record the execution of an ISIS program or sequence of ISIS programs. Info written to the log includes:
- Program run, with:
- Version, Date/time run, Computer name, Username, Description
- Groups for:
- User input parameters, Results, Accounting, and Errors (if any occur)
Format¶
Session logs are output in the Parameter Value Language (PVL) format; below are two examples.
Session Log File recording a High Pass Filter
Object = Highpass
IsisVersion = 3.0
ProgramVersionDate = 2003-05-16
ExecutionDateTime = 2003-06-25T12:18:45
ComputerName = char
UserName = janderso
ProgramDescription = "Apply a high pass filter to a cube"
Group = UserParameters
From = input.cub
To = output.cub
Samples = 5
Lines = 5
Low = "Use all pixels"
High = "Use all pixels"
Minimum = 0
Propagate = True
EndGroup
Group = Results
PixelsChanged = 1024000
PercentChanged = 100.0
EndGroup
Group = Accounting
ConnectTime = 0:00:05.2
CpuTime = 0:00:04.1
DirectIO = 0
PageFaults = 2673
ProcessSwaps = 0
EndGroup
EndObject
Session Log File with Error
Notice Group = Error
and the associated error information.
Object = Highpass
IsisVersion = 3.0
ProgramVersionDate = 2003-05-16
ExecutionDateTime = 2003-06-25T12:18:45
ComputerName = char
UserName = janderso
ProgramDescription = "Apply a high pass filter to a cube"
Group = UserParameters
From = moon.cub
To = output.cub
Samples = 5
Lines = 5
Low = "Use all pixels"
High = "Use all pixels"
Minimum = 0
Propagate = True
EndGroup
Group = Error
Program = Highpass
Class = "I/O ERROR"
Code = -3
Message = "Unable to open cube [moon.cub]"
Source = IsisCube.cpp
Line = 203
EndGroup
EndObject
Output¶
Output of session logs can be set with ISIS user preferences.
File and Terminal/STDOUT output can both be set On or Off independently.
If FileOutput
is On
, then the FileName
and FileAccess
parameters will apply.
# Isis Preferences File
Group = SessionLog
TerminalOutput = On | Off
FileOutput = On | Off
FileName = print.prt
FileAccess = Append | Overwrite
EndGroup
Terminal Output and Redirection
If TerminalOutput
is On
, info will be logged to STDOUT (the terminal),
and standard Unix constructs may be used to redirect the output. For example,
stats from=moon.cub > stats.log