---
name: "syslog.h"
section: "0p"
platform: "linux"
package: "man-pages"
version: "6.19-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/syslog.h"
---

# syslog.h(0p)

definitions for system error logging

## PROLOG

This manual page is part of the POSIX Programmer's Manual. The Linux implementation of this interface may differ (consult the corresponding Linux manual page for details of Linux behavior), or the interface may not be implemented on Linux.

## NAME

syslog.h — definitions for system error logging

## SYNOPSIS

```
#include <syslog.h>
```

## DESCRIPTION

The *\<syslog.h\>* header shall define the following symbolic constants, zero or more of which may be OR'ed together to form the *logopt* option of *openlog*():

- LOG\_PID

  Log the process ID with each message.

- LOG\_CONS

  Log to the system console on error.

- LOG\_NDELAY

  Connect to syslog daemon immediately.

- LOG\_ODELAY

  Delay open until *syslog*() is called.

- LOG\_NOWAIT

  Do not wait for child processes.

The *\<syslog.h\>* header shall define the following symbolic constants for use as the *facility* argument to *openlog*():

- LOG\_KERN

  Reserved for message generated by the system.

- LOG\_USER

  Message generated by a process.

- LOG\_MAIL

  Reserved for message generated by mail system.

- LOG\_NEWS

  Reserved for message generated by news system.

- LOG\_UUCP

  Reserved for message generated by UUCP system.

- LOG\_DAEMON

  Reserved for message generated by system daemon.

- LOG\_AUTH

  Reserved for message generated by authorization daemon.

- LOG\_CRON

  Reserved for message generated by clock daemon.

- LOG\_LPR

  Reserved for message generated by printer system.

- LOG\_LOCAL0

  Reserved for local use.

- LOG\_LOCAL1

  Reserved for local use.

- LOG\_LOCAL2

  Reserved for local use.

- LOG\_LOCAL3

  Reserved for local use.

- LOG\_LOCAL4

  Reserved for local use.

- LOG\_LOCAL5

  Reserved for local use.

- LOG\_LOCAL6

  Reserved for local use.

- LOG\_LOCAL7

  Reserved for local use.

The *\<syslog.h\>* header shall define the following macros for constructing the *maskpri* argument to *setlogmask*(). The following macros expand to an expression of type **int** when the argument *pri* is an expression of type **int**:

- LOG\_MASK(*pri*)

  A mask for priority *pri*.

The *\<syslog.h\>* header shall define the following symbolic constants for use as the *priority* argument of *syslog*():

- LOG\_EMERG

  A panic condition was reported to all processes.

- LOG\_ALERT

  A condition that should be corrected immediately.

- LOG\_CRIT

  A critical condition.

- LOG\_ERR

  An error message.

- LOG\_WARNING

  A warning message.

- LOG\_NOTICE

  A condition requiring special handling.

- LOG\_INFO

  A general information message.

- LOG\_DEBUG

  A message useful for debugging programs.

The following shall be declared as functions and may also be defined as macros. Function prototypes shall be provided.

```
void  closelog(void);
void  openlog(const char *, int, int);
int   setlogmask(int);
void  syslog(int, const char *, ...);
```

*The following sections are informative.*

## APPLICATION USAGE

None.

## RATIONALE

None.

## FUTURE DIRECTIONS

None.

## SEE ALSO

The System Interfaces volume of POSIX.1‐2017, *closelog()*

## COPYRIGHT

Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1-2017, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 7, 2018 Edition, Copyright (C) 2018 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between this version and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html .

Any typographical or formatting errors that appear in this page are most likely to have been introduced during the conversion of the source files to man page format. To report such errors, see https://www.kernel.org/doc/man-pages/reporting\_bugs.html .
