Table of Contents
Working with EG Logs
Logs in a standard Evergreen installation are located at var/log/evergreen
. From there, logs are divided into year/month/day folders. Within a day's folder, there are 4 different types of logs:
- activity.log
- gateway.log
- osrfsys.log
- pg.log
With the exception of activity.log, each one of these has multiple files broken into hour chunks. So pg.10.log would be the pg.log for the 10 o'clock hour.
Types of Logs
Activity.log
This is the top level of logging. It logs the calls that are made.
Gateway.log
Osrfsys.log
Pg.log
This is the log for database calls. It will include the actual query that was made to the database.
Common commands
If you're accessing logs via Bash, there are several useful commands to help you as you navigate logs. Especially if you're working with logs in a production environment, the data streams in so fast it's almost impossible to look at directly.
grep brick0 |less
– If you are investigating on a server that utilizes multiple bricks, you may want to filter out any utility processes that are also running on that server. This will retrieve any lines that contain brick0 (i.e. brick01 or brick02) vs lines that begin with "utility".
bzgrep [something] [in a particular file
– If you're using a product like bZip2 to zip previous day/week/month log files for space, you'll need to specify that in your grep. Otherwise it won't be able to look inside those files. So an example might be bzgrep [threadtrace number] activity.log.bz2
grep brick01 activity.log |grep open-ils.acq |less
– You can stack multiple greps by using a pipe. So in layman's terms this example would be "search for brick01 in activity.log, and then within those results search for open-ils.acq".