# Systemd service n'écrit pas dans le journal?

**URL:** <https://www.debian-fr.org/t/systemd-service-necrit-pas-dans-le-journal/90043>\
**Category:** Support Debian\
**Created:** [Juin 1, 2024, 8:24 UTC](https://www.debian-fr.org/t/systemd-service-necrit-pas-dans-le-journal/90043 "2024-06-01T08:24:03Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![PmGs](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/dfb087/32.png) [@PmGs](https://www.debian-fr.org/u/PmGs)\
**Post date:** [Juin 1, 2024, 8:24 UTC](https://www.debian-fr.org/t/systemd-service-necrit-pas-dans-le-journal/90043/1 "2024-06-01T08:24:03Z")

</div>

Bonjour à tous.  
Sous Debian 12, je n’arrive pas à comprendre pourquoi ce service n’écrit pas dans le journal.  
Merci d’avance pour toute aide.

```
[Unit]
Description = Essai 2 - 01/06/24

[Service]
ExecStart=/usr/bin/echo aaa
#StandardOutput=file:/tmp/service.log # Ok
StandardOutput=journal # "journalctl -f" ne voit rien

[Install]
WantedBy=multi-user.target
```

---

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Juin 1, 2024, 8:45 UTC](https://www.debian-fr.org/t/systemd-service-necrit-pas-dans-le-journal/90043/2 "2024-06-01T08:45:13Z")

</div>

> [@PmGs](#):
>
> je n’arrive pas à comprendre pourquoi ce service n’écrit pas dans le journal.

Tu veux dire dans le syslog ?

Si c’est le cas alors c’est plutôt ça :

```auto
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=nom

```

Il y a moult documentation sur la toile à propos de systemd et des options des unité que l’on créer ou customise.

Maintenant si tu cherche à cérire dans un fichier particulier ce sera plutôt ça (ne pas oublier de gérer la rotation de ces derniers ^^ :

```auto
StandardOutput=append:/path-de-ton-fichier-de-log/nom-du-fichier.log
StandardError=append:/path-de-ton-fichier-de-log/nom-du-fichier.log

```

---

<div class="post-metadata">

**Author:** ![PmGs](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/dfb087/32.png) [@PmGs](https://www.debian-fr.org/u/PmGs)\
**Post date:** [Juin 1, 2024, 9:20 UTC](https://www.debian-fr.org/t/systemd-service-necrit-pas-dans-le-journal/90043/3 "2024-06-01T09:20:36Z")

</div>

> [@Clochette](#):
>
> Tu veux dire dans le syslog ?

Non, dans le journal systemd comme je l’ai écrit dans mon post : «&nbsp;journalctl -f&nbsp;» ne voit rien

Pour info le retour avec syslog  
Standard output type syslog is obsolete, automatically updating to journal

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Juin 1, 2024, 9:34 UTC](https://www.debian-fr.org/t/systemd-service-necrit-pas-dans-le-journal/90043/4 "2024-06-01T09:34:38Z")

</div>

En fait `syslog` dependait de `rsyslog`. Et par défaut, `rsyslog` n’est plus installé par Debian.  
Personnellement je ai rétabli `rsyslog` car ça reste plus facile à gérer que `journald` et qui plus est un grand nombre d’analyseur de logs be peuvent pas traiter avec `journald`.

---

<div class="post-metadata">

**Author:** ![PmGs](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/dfb087/32.png) [@PmGs](https://www.debian-fr.org/u/PmGs)\
**Post date:** [Juin 1, 2024, 9:38 UTC](https://www.debian-fr.org/t/systemd-service-necrit-pas-dans-le-journal/90043/5 "2024-06-01T09:38:29Z")

</div>

Ok pour rsyslog que j’utilise également sur d’autres systèmes, je souhaitais simplement utiliser systemd «&nbsp;basiquement&nbsp;» et je coince sur qqc qui ne fonctionne pas comme je l’ai compris …

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Juin 1, 2024, 9:49 UTC](https://www.debian-fr.org/t/systemd-service-necrit-pas-dans-le-journal/90043/6 "2024-06-01T09:49:07Z")

</div>

StandardError=journal  
StandardOutput=journal

Il te faut les deux, car la sortie stderr est aussi à mettre.

`StandardOuput` sert à afficher les sortie de ton script comme par exemple `echo` ou `printf`.

```auto
[Service]
; These defaults may be overridden in systemd-system.conf(5).
;StandardError=journal
;StandardOutput=journal

; These defaults may be overridden in journald.conf(5).
;LogLevelMax=debug
;LogRateLimitIntervalSec=10000
;LogRateLimitBurst=30s

; Extra fields may be added to every message.
;LogExtraFields=

;; Other settings:

; Defaults to process name. NOT the unit name, but rather basename(3) of the $0.
;SyslogIdentifier=

; For messages written without the <N> prefix.
;SyslogLevel=info

;SyslogFacility=daemon

; For completeness only: The level-parsing machinery can be disabled, but that
; was the whole point...
;SyslogLevelPrefix=true

```

---

<div class="post-metadata">

**Author:** ![PmGs](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/dfb087/32.png) [@PmGs](https://www.debian-fr.org/u/PmGs)\
**Post date:** [Juin 1, 2024, 9:58 UTC](https://www.debian-fr.org/t/systemd-service-necrit-pas-dans-le-journal/90043/7 "2024-06-01T09:58:45Z")

</div>

> [@Zargos](#):
>
> Il te faut les deux

Idem si j’ajoute StandardError, ceci dit mon echo ne sort pas en erreur, il fonctionne parfaitement quand je sors dans un fichier.

---

<div class="post-metadata">

**Author:** ![Verner](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/v/34f0e0/32.png) [@Verner](https://www.debian-fr.org/u/Verner)\
**Post date:** [Juin 1, 2024, 10:43 UTC](https://www.debian-fr.org/t/systemd-service-necrit-pas-dans-le-journal/90043/8 "2024-06-01T10:43:29Z")

</div>

Bien embrouillé comme sujet.

> [@PmGs](#):
>
> je n’arrive pas à comprendre pourquoi ce service n’écrit pas dans le journal.

Le problème est qu’un fichier service n’a pas pour rôle de définir un fichier log.  
La configuration générale du journal systemd peut être résumée par:  
`systemd-analyze cat-config systemd/journald.conf`

Sans rien faire de spécial, le service suivant est bien rapporté par journalctl

création de `/etc/systemd/user/echotest.service`

```auto
[Service]
ExecStart=/usr/bin/echo aaa

```

```auto
systemctl --user start echotest.service

	01/06/2024 12:38	systemd	Started echotest.service.
	01/06/2024 12:38	echo	aaa

```

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Juin 1, 2024, 10:52 UTC](https://www.debian-fr.org/t/systemd-service-necrit-pas-dans-le-journal/90043/9 "2024-06-01T10:52:52Z")

</div>

pour écrire dans les logs mieux vaut utiliser `logging` c’est fait pour ça ou plutôt `systemd-cat` maintenant.

---

<div class="post-metadata">

**Author:** ![PmGs](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/dfb087/32.png) [@PmGs](https://www.debian-fr.org/u/PmGs)\
**Post date:** [Juin 1, 2024, 10:54 UTC](https://www.debian-fr.org/t/systemd-service-necrit-pas-dans-le-journal/90043/10 "2024-06-01T10:54:59Z")

</div>

> [@Verner](#):
>
> La configuration générale du journal systemd peut être résumée par:  
> `systemd-analyze cat-config systemd/journald.conf`

Merci du rappel, j’avais oublié que j’avais modifié le fichier de conf avec la ligne

`> MaxLevelStore=notice`

pour limiter les logs !..

---

<div class="post-metadata">

**Author:** ![yatta](https://www.debian-fr.org/user_avatar/www.debian-fr.org/yatta/32/12132_2.png) [@yatta](https://www.debian-fr.org/u/yatta)\
**Post date:** [Juin 1, 2024, 11:44 UTC](https://www.debian-fr.org/t/systemd-service-necrit-pas-dans-le-journal/90043/11 "2024-06-01T11:44:02Z")

</div>

quand j’ai créer un service, j’ai rien ajouté de particulier dans les logs.  
il suffit de lancer la commande :

`journalctl -fu test.service`

j’ai trouvé des infos sur le sujet : [https://www.baeldung.com/linux/redirect-systemd-output-to-file](https://www.baeldung.com/linux/redirect-systemd-output-to-file)
