LP Print Service Log Files
The LP print service maintains two sets of log files described in the following table.
Log File Name | Description |
---|---|
syslogd(1M) | Set lpr.debug in /etc/syslog.conf to enable LP print service logging |
/var/spool/lp | A list of current requests that are in the print queue |
/var/lp/logs/requests | An ongoing history of print requests |
Print Queue Logs
The scheduler for each system keeps a log of print requests in the directories /var/spool/lp/tmp/system and /var/spool/lp/requests/system. Each print request has two files (one in each directory) that contain information about the request. The information in the /var/spool/lp/requests/system directory can be accessed only by root or lp. The information in the /var/spool/lp/tmp/system can be accessed only by the user who submitted the request, root, or lp.
The following example shows the contents of the /var/spool/lp/tmp/starbug directory:
$ ls /var/spool/lp/tmp/starbug 5 5-0 # cat 5-0 C 1 D print1 F /etc/profile P 20 T /etc/profile t simple U root s 0000 v 2 |
These files remain in their directories only as long as the print request is in the queue. Once the request is finished, the information in the files is combined and appended to the /var/lp/logs/requests file, which is described in the section that follows.
Use the information in the /var/spool/lp/logs directory if you need to track the status of a print request that is currently in the queue.
History Logs
The LP print service records a history of printing services in two log files: lpsched and requests. These log files are located in the /var/lp/logs directory. You can use the information in these logs to diagnose and troubleshoot printing problems. This is an example of the contents of the /var/lp/logs directory:
# cd /var/lp/logs # ls lpsched.1 requests requests.2 lpsched lpsched.2 requests.1 # |
The two most important log files for troubleshooting is the lpsched log, which contains information about local printing requests and the requests log, which contains information about print requests that are completed and no longer in the print queue.
The requests log has a simple structure, so that you can extract data using common UNIX shell commands. Requests are listed in the order they are printed, and are separated by lines showing their request IDs. Each line below the separator line, the line that starts with =, is marked with a single letter that identifies the kind of information contained in that line. Each letter is separated from the data by a single space.
The following example shows the contents of a requests log:
# pwd /var/lp/logs # tail requests.2 = print1-3, uid 0, gid 1, size 206662, Wed Nov 14 08:56:30 MST 2001 z print1 C 1 D print1 F /usr/dict/words P 20 T /usr/dict/words t simple U root s 0x0014 v 2 # |
The following table shows the letter codes and the content of their corresponding lines in the LP requests log.
Table 8-4 Letter Codes in the LP requests Log
Letter | Content of Line |
---|---|
= | The separator line. It contains the following items: request ID, user ID (UID), and group IDs (GIDs) of the user, the total number of bytes in the original (unfiltered) file size, and the time when the request was queued. |
z | The name of the printer. |
C | The number of copies printed. |
D | The printer or class destination or the word any. |
F | The name of the file printed. The line is repeated for each file printed. Files were printed in the order shown. |
f | (Optional) The name of the form used. |
H | (Optional) One of three types of special handling: resume, hold, and immediate. |
N | (Optional) The type of alert used when the print request was successfully completed. The type is the letter M if the user was notified by email or W if the user was notified by a message to the terminal. |
O | (Optional) The printer-dependent -o options (for example, nobanner). |
P | The priority of the print request. |
p | The list of pages printed. |
r | (Optional) A single-letter line that is included if the user asked for "raw" processing of the files (the lp -r command). |
S | (Optional) The character set, print wheel, or cartridge used. |
T | The title placed on the banner page. |
t | The type of content found in the files. |
U | The name of the user who submitted the print request. |
s | The outcome of the request, shown as a combination of individual bits expressed in hexadecimal form. Several bits are used internally by the print service. The bits and what they mean are describe in the table that follows this one. |
x | (Optional) The slow filter used for the print request. |
Y | (Optional) The list of special modes for the print filters used to print the request. |
z | (Optional) The printer used for the request. This printer differs from the destination (the D line) if the request was queued for any printer or a class of printers, or if the request was moved to another destination. |
The following table shows the outcome codes in the LP requests log and their descriptions.
Table 8-5 Outcome Codes in the LP requests Log
Outcome Code | Description |
---|---|
0x0001 | The request was held pending resume. |
0x0002 | Slow filtering is running. |
0x0004 | Slow filtering finished successfully. |
0x0008 | The request is on the printer. |
0x0010 | Printing finished successfully. |
0x0020 | The request was held pending user change. |
0x0040 | The request was canceled. |
0x0080 | The request will print next. |
0x0100 | The request failed filtering or printing. |
0x0200 | The request is in transit to a remote printer. (obsolete) |
0x0400 | The user will be notified. |
0x0800 | A notification is running. |
0x1000 | A remote system has accepted the request. (obsolete) |
0x2000 | The administrator placed a hold on the request. |
0x4000 | The printer had to change filters. |
0x8000 | The request is temporarily stopped. |
Spooling Directories
Files queued for printing are stored in the /var/spool/lp directory until they are printed, which might be only seconds. The following table shows the contents of the /var/spool/lp directory.
Table 8-6 Contents of the /var/spool/lp Directory
File | Type | Description |
---|---|---|
SCHEDLOCK | File | Lock file for the scheduler. Check for this file if the scheduler dies and will not restart. |
admins | Directory | Link to /etc/lp. |
bin | Directory | Link to /usr/lib/lp/bin. |
logs | Link | Link to ../lp/logs where completed print requests are logged. |
model | Link | Link to /usr/lib/lp/model. |
requests | Directory | Directory that contains subdirectories for each configured printer where print requests are logged until printed. Users cannot access this log. |
system | Directory | A print status file for the system. |
temp | Link | Link to /var/spool/lp/tmp/hostname, which contains the spooled requests. |
tmp | Directory | Directory for each configured printer where print requests are logged until printed. Changes to existing print requests are also recorded in this log. |