====== 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". ===== Reading the lines =====