Comment 0 for bug 1991436

Revision history for this message
Ansgar Wiechers (awiechers) wrote :

When invoking the `logger` command on Ubuntu Jammy (bsdutils 2.37.2) with explicit PID and passing messages via STDIN

```
echo "some message" | logger -p local0.info --id="$$"
```

the command produces the following error:

> logger: send message failed: Invalid argument

The error does not appear when the message is passed as an argument:

```
logger -p local0.info --id="$$" "some message" # this works!
```

When using process substitution the error only appears for the first log message:

```
exec > >(logger -p local0.info --id="$$")
echo "first message" # throws error, message not logged
echo "second message" # no error, message logged correctly
```

The issue does not exist in older versions (e.g. Ubuntu Xenial, bsdutils 2.27.1).

Workaround: Omit `--id` and include the PID in a tag.

```
echo "some message" | logger -p local0.info -t "foo[$$]"
```

Expected Behavior
-----------------

All messages passed via STDIN should be sent to syslog without throwing an error.

OS Release
----------

Description: Ubuntu 22.04 LTS
Release: 22.04

Package Version
---------------

bsdutils:
  Installed: 2.37.2-4ubuntu3
  Candidate: 2.37.2-4ubuntu3