---
name: "paclog"
section: "1"
platform: "linux"
package: "pacutils"
version: "0.15.0-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/paclog"
---

# paclog(1)

filter pacman log entries

## NAME

paclog - filter pacman log entries

## SYNOPSIS

```
 paclog [options] [filters]...
 paclog [options] --pkglist
 paclog (--help|--version)
```

## DESCRIPTION

If input is provided on *stdin* it will be parsed instead of **--logfile**. Log entries will be displayed if they match *any* of the provided filters.  To display the intersection of multiple filters they can be connected by a pipe:

```
 paclog --after=2015-01-01 | paclog --warnings
```

## OPTIONS

- **--config**=*path*

  Set an alternate configuration file path.

- **--logfile**=*path*

  Set an alternate log file path.

- **--root**=*path*

  Set an alternate installation root.

- **--sysroot**=*path*

  Set an alternate system root.  See [**pacutils-sysroot**(7)](/pacutils-sysroot/7.md).

- **--\[no-\]color**

  Colorize output.  By default output will be colorized if *stdout* is a terminal.

- **--pkglist**

  Print the list of installed packages according to the log.

- **--help**

  Display usage information and exit.

- **--version**

  Display version information and exit.

### Filters

- **--action**=*action*

  Display package operations.  *action* must be one of `"install"`, `"reinstall"`, `"upgrade"`, `"downgrade"`, `"remove"`, or `"all"`.

- **--after**=*date*, **--before**=*date*

  Display entries after/before *date*.  If seconds or timezone information is included it will be silently ignored, allowing output from `"date -I"` to be used:

  ```
   paclog --after "$(date -Iminutes --date '3 days ago')"
  ```

- **--caller**=*name*

  Display log entries from *name*.  May be specified multiple times. Case-sensitive.

- **--commandline**

  Display pacman-style logged commandline entries.

- **--grep**=*regex*

  Display log entries whose message matches *regex*.

- **--package**=*pkgname*

  Display logged actions affecting *pkgname*.  May be specified multiple times.

- **--warnings**

  Display errors, warnings, and notes.

## CAVEATS

**paclog** determines whether or not to read the log file from *stdin* based on a naive check using [**isatty**(3)](/isatty/3.md).  If **paclog** is called in an environment, such as a shell function or script being used in a pipe, where *stdin* is not connected to a terminal but does not a log file to parse, **paclog** should be called with *stdin* closed.  For POSIX-compatible shells, this can be done with `"<&-"`.
