From Fedora Project Wiki
No edit summary
No edit summary
Line 1: Line 1:
== Fedora Log Files ==
== Fedora Log Files ==


Packages which generate log files must write out their logfiles in a package-specific (and package owned) directory under /var/log. Unless the software being packaged rotates its own logs, it must also ship a logrotate config file to rotate its log file(s).
Packages which generate log files must write out their logfiles in a package-specific (and package owned) directory under %{_localstatedir}/log. Unless the software being packaged rotates its own logs, it must also ship a logrotate config file to rotate its log file(s).


=== Logrotate config file ===
=== Logrotate config file ===


Logrotate config files should be named in a way that matches the daemon/software which is generating the logs, which is usually (though not always) the same name as the package. When unsure, use "%{name}.conf". These files must be placed in /etc/logrotate.d, and should use standard file permissions (0644) and ownership (root:root).
Logrotate config files should be named in a way that matches the daemon/software which is generating the logs, which is usually (though not always) the same name as the package. When unsure, use "%{name}.conf". These files must be placed in %{_sysconfdir}/logrotate.d, and should use standard file permissions (0644) and ownership (root:root).


==== Example minimal logrotate config file ====
==== Example minimal logrotate config file ====

Revision as of 17:04, 23 May 2013

Fedora Log Files

Packages which generate log files must write out their logfiles in a package-specific (and package owned) directory under %{_localstatedir}/log. Unless the software being packaged rotates its own logs, it must also ship a logrotate config file to rotate its log file(s).

Logrotate config file

Logrotate config files should be named in a way that matches the daemon/software which is generating the logs, which is usually (though not always) the same name as the package. When unsure, use "%{name}.conf". These files must be placed in %{_sysconfdir}/logrotate.d, and should use standard file permissions (0644) and ownership (root:root).

Example minimal logrotate config file

/var/log/example/*log {
	missingok		# If the log file is missing, go on to the next one without issuing an error message
	notifempty		# Don't do any rotation if the logfile is empty
	compress		# Compress older files with gzip
	delaycompress		# Don't compress yesterdays files
}