Changes/CupsJournalLogging

From FedoraProject

Jump to: navigation, search

Contents

CUPS Journal Logging

Summary

By default, CUPS will send log output to the system journal rather than /var/log/cups/error_log.

Owner

  • Name: Tim Waugh
  • Email: twaugh@redhat.com
  • Release notes owner:

Current status

Detailed Description

CUPS has traditionally sent log output to the /var/log/cups/error_log file. In Fedora 20, CUPS was enhanced to be able to send log output to the system journal, including useful information such as the corresponding job ID. I've written more about this elsewhere.

Benefit to Fedora

Some of the benefits of systemd's journald come from it being the central point for logging. In particular, diagnosing print issues becomes easier if the CUPS log messages are interleaved with syslog messages (e.g. from the hp backend in HPLIP).

Having structure to the logs also makes it easier to retrieve log messages that concerned a particular job ("journalctl CUPS_JOB_ID=13").

The proposed change is for the ErrorLog target only. The PageLog and AccessLog defaults will remain as before, files in /var/log/cups.

The default log level will remain unchanged, at "info". This is low traffic, only including verbose output for failed jobs.

Scope

The work involved is a simple one-line change in /etc/cups/cups-files.conf to change the ErrorLog line to read "ErrorLog journal", and potentially a note in /var/log/cups/error_log (in log format) describing a journalctl command to retrieve the CUPS logs.

  • Proposal owners:

The change noted above is all that is required.

Upgrade/compatibility impact

This is a configuration file change, so a modified CUPS installation will stay as it is and not be affected.

This change only affects the default. The configuration can be changed back to use the /var/log/cups/error_log file if this is preferred.

How To Test

During normal operation, printing some files, there should not be a large increase in journal entries.

A failed print job (e.g. filter crashed) should cause filter and backend output to be sent to the journal.

The journalctl command should be able to retrieve job-specific journal entries.

User Experience

Most people will not notice this change.

System administrators will be able to analyse CUPS issues more easily.

Dependencies

N/A (not a System Wide Change)

Contingency Plan

Revert.

Documentation

http://cyberelk.net/tim/2013/10/25/cups-adding-support-for-system-journal/

Release Notes

The default CUPS logging target is now the system journal. To retrieve CUPS logs use "journalctl _COMM=cupsd".