---
name: "setlogmask"
section: "3"
platform: "linux"
package: "man-pages"
version: "6.19-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/setlogmask"
---

# setlogmask(3)

set log priority mask

## NAME

setlogmask - set log priority mask

## LIBRARY

Standard C library (*libc*, *-lc*)

## SYNOPSIS

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

**int setlogmask(int** *mask***);**

## DESCRIPTION

A process has a log priority mask that determines which calls to [**syslog**(3)](/syslog/3.md) may be logged. All other calls will be ignored. Logging is enabled for the priorities that have the corresponding bit set in *mask*. The initial mask is such that logging is enabled for all priorities.

The **setlogmask**() function sets this logmask for the calling process, and returns the previous mask. If the *mask* argument is **0**, the current logmask is not modified.

The eight priorities are **LOG\_EMERG**, **LOG\_ALERT**, **LOG\_CRIT**, **LOG\_ERR**, **LOG\_WARNING**, **LOG\_NOTICE**, **LOG\_INFO**, and **LOG\_DEBUG**. The bit corresponding to a priority *p* is *LOG\_MASK(p)*. Some systems also provide a macro *LOG\_UPTO(p)* for the mask of all priorities in the above list up to and including *p*.

## RETURN VALUE

This function returns the previous log priority mask.

## ERRORS

None.

## ATTRIBUTES

For an explanation of the terms used in this section, see [**attributes**(7)](/attributes/7.md).

| | | |
| --- | --- | --- |
| **Interface** | **Attribute** | **Value** |
| **setlogmask**() | Thread safety | MT-Unsafe race:LogMask |

## STANDARDS

POSIX.1-2008.

## HISTORY

POSIX.1-2001.

**LOG\_UPTO**() will be included in the next release of the POSIX specification (Issue 8).

## SEE ALSO

[**closelog**(3)](/closelog/3.md), [**openlog**(3)](/openlog/3.md), [**syslog**(3)](/syslog/3.md)
