---
title: "Référence d'API — nodefony/client — syslog"
source: docs/api/core/client-syslog.md
url: https://nodefony.github.io/nodefony-core/docs/api/core/client-syslog/
---


[Documentation](../../../) › [Référence d'API](../../) › [`nodefony`](../) › client-syslog

> Générée depuis les déclarations de types publiées de `nodefony` **10.0.0-beta.5** : exactement ce que reçoit une application qui l'installe. Cette page n'existe dans aucun dépôt — pour la corriger, on corrige le TSDoc du code.

## `nodefony/client`

`import { … } from "nodefony/client"` — 6 symboles.

### Classes (2)

#### `Pdu`

```ts
class Pdu
```

- `payload: Pci`
- `uid: number`
- `severity: number`
- `timeStamp: number`
- `severityName: keyof typeof SysLogSeverity`
- `typePayload: string | null`
- `moduleName: ModuleName`
- `msgid: Msgid`
- `msg: Message`
- `status: Status`
- `pid: number` — PID du process émetteur (= procid RFC 5424).
- `requestId?: string` — Identifiant de la requête en cours (corrélation log↔requête).
- `static requestIdProvider: () => string | null` — Provider injectable du `requestId` courant (ALS).
- `constructor(pci: Pci, severity?: Severity, moduleName?: ModuleName, msgid?: Msgid, msg?: Message, date?: PduDate)`
- `static sysLogSeverity(): Record<Severity, Severity>` — Map bidirectionnelle des sévérités RFC 5424 (`{ INFO: 6, 6: "INFO", ... }`).
- `static severityToString(severity: number | string): SeverityName` — Convertit une sévérité numérique ou string en son nom canonique.
- `getDate(): string` — Retourne le timestamp formaté `HH:MM:SS GMT±HHMM (TZ Name)`.
- `toString(): string` — Sérialise le Pdu en string mono-ligne pour transport console/file.
- `parseJson(str: string): Record<string, unknown> | null` — Réhydrate un Pdu existant à partir d'une string JSON — mute uniquement ses champs de DONNÉES (`PDU_DATA_FIELDS`).

#### `Syslog`

```ts
class Syslog extends Event implements ISyslog
```

Hub central de logs structurés de Nodefony — conforme RFC 5424.

- `settings: SyslogDefaultSettings`
- `burstPrinted: number`
- `missed: number`
- `invalid: number`
- `valid: number`
- `errorTotal: number` — Cumul monotone des logs de classe ERREUR (sévérité 0–3 : ERROR/CRITIC/ALERT/EMERGENCY) acceptés depuis la construction.
- `criticTotal: number` — Sous-ensemble CRITIQUE (sévérité 0–2 : CRITIC/ALERT/EMERGENCY).
- `start: number`
- `gated: number` — Nombre de logs court-circuités par le gate de sévérité (T2).
- `constructor(settings?: SyslogDefaultSettings)`
- `get ringStack(): Pdu[]`
- `get bufferCapacity(): number` — Capacité MAX du ring buffer (`settings.maxStack`) — nombre de Pdu que la mémoire peut relire.
- `get ringEnabled(): boolean` — `true` si les Pdu sont stockés dans le ring (relecture mémoire active).
- `setRingEnabled(enabled: boolean): boolean` — Active/désactive le stockage mémoire (ring) à chaud — outil avancé perf/mémoire.
- `get streamEnabled(): boolean` — `true` si la diffusion temps réel (`nodefony:syslog`) est active.
- `setStreamEnabled(enabled: boolean): boolean` — Active/désactive la diffusion temps réel (bus `nodefony:syslog`) à chaud.
- `setMaxStack(max: number): void` — Redimensionne le ring buffer (capacité de relecture en mémoire) en **préservant** les Pdu déjà présents (tronqués aux `max` plus récents si on rétrécit).
- `static formatDebug(debug: DebugType): DebugType`
- `init(environment: EnvironmentType, debug?: DebugType, options?: conditionsInterface): void` — Initialise le pipeline Syslog selon environnement + debug.
- `static severityFromInput(level: string | number): number | null` — Valide STRICTEMENT une sévérité d'ENTRÉE (nom RFC 5424 ou numérique 0-7) → numéro, ou `null` si invalide.
- `static parseDebugSpec(spec: string): { global: boolean; overrides: Array<{ module: string; level: number; }>; }` — Parse une spec `NF__DEBUG` (env runtime) en directives de debug ciblé.
- `setSeverityThreshold(threshold: number | Exclude<Severity, number> | null): void` — T2 — règle (ou lève) le gate d'entrée par sévérité À CHAUD, sans reboot.
- `severityEnabled(severity: number | Exclude<Severity, number>, msgid?: ModuleName): boolean` — T2 — un log de cette sévérité franchirait-il le gate d'entrée ?
- `setDebugOverride(module: string, level: number | Exclude<Severity, number>, ttlMs?: number): void` — Élève à chaud le seuil de verbosité d'UN module (debug ciblé), sans reboot et sans toucher aux autres modules.
- `clearDebugOverride(module: string): boolean` — Retire l'override de debug ciblé d'un module (et son timer d'auto-extinction).
- `clearAllDebugOverrides(): void` — Retire TOUS les overrides de debug ciblé + leurs timers (retour à 0 coût).
- `getDebugOverrides(): Record<string, number>` — Snapshot des overrides de debug ciblé actifs (introspection — endpoint admin, toggle Studio).
- `getDebugOverrideExpiry(): Record<string, number>` — Échéances (epoch ms) des overrides TEMPORISÉS (introspection — countdown Studio « s'éteint dans X »).
- `get async(): boolean`
- `set async(value: boolean)`
- `clean(): this` — Alias de `reset` — purge ring buffer + listeners.
- `reset(): this` — Reset complet — vide le ring buffer ET retire tous les listeners.
- `clearLogStack(): void` — Vide uniquement le ring buffer (conserve les listeners attachés).
- `pushStack(pdu: Pdu): number` — Push manuel d'un Pdu dans le ring buffer + incrémente compteur `valid`.
- `log(payload: Pci, severity?: Severity, msgid?: ModuleName, msg?: Message, moduleName?: ModuleName): Pdu` — Crée un Pdu et le diffuse dans le pipeline (rate-limit → push → fire `"onLog"`).
- `getLogStack(start?: number, end?: number, condition?: conditionsInterface): Pdu[] | Pdu`
- `getLogs(conditions?: conditionsInterface | null, stack?: Pdu[] | null): Pdu[]`
- `logToJson(conditions?: conditionsInterface | null, stack?: Pdu[] | null): string`
- `loadStack(stack: Pdu[] | string, doEvent?: boolean, beforeConditions?: (pdu: Pdu, stackItem: Pdu) => void | null): Pdu[]`
- `filter(conditions: conditionsInterface, callback: CallbackFunction): void`
- `listenWithConditions(conditions: conditionsInterface, callback: CallbackFunction): void`
- `error(data: Pci): Pdu`
- `warn(data: Pci): Pdu`
- `info(data: Pci): Pdu`
- `debug(data: Pci): Pdu`
- `trace(data: Pci, msgid?: ModuleName, msg?: Message): Pdu`
- `print(...args: Pci[]): Pdu`
- `logMultiple(severity: Severity, ...args: Pci[]): Pdu`
- `addTransport(transport: ITransport): this`
- `removeTransport(transport: ITransport): this` — Retire un transport d'écriture et le ferme (`ITransport.close`) : un transport retiré qui garderait son fichier ouvert fuirait un descripteur à chaque ré-initialisation du journal (`Kernel.initializeL …
- `get transportCount(): number` — Nombre de transports d'écriture branchés (introspection — data plane Studio, tests d'idempotence).
- `listTransports(): { name: string; enabled: boolean; }[]` — Liste polymorphe des transports d'écriture — chaque entrée porte le `name` de l'`ITransport` (`console`, `file`, `loki`, `syslog`…) et son état `enabled`.
- `setTransportEnabled(name: string, enabled: boolean): boolean` — Active/désactive un transport d'écriture **à chaud, par nom** (outil dev / diagnostic — ex.
- `static wrapper(pdu: Pdu): WrapperResult`
- `static normalizeLog(pdu: Pdu, pid?: string): Pdu` — Transport console par défaut — formate un Pdu et l'écrit vers `process.stdout` ou `process.stderr` selon sévérité (ERROR+ vers stderr).
- `static rawLog(pdu: Pdu, pid?: string): Pdu`
- `static setOutputBuffering(mode: boolean | "auto"): void` — Mode de bufférisation de la sortie console — **process-global** (un seul `process.stdout`).
- `static setLineFormat(format: "text" | "json"): void` — Forme des lignes d'écran — **process-global**.
- `static get lineFormat(): "text" | "json"` — Forme courante des lignes d'écran (cf `Syslog.setLineFormat`).
- `static flushOutput(): void` — Vide immédiatement (synchrone) le buffer stdout en attente.
- `static setLogSink(sink: ILogSink | null): void` — Bascule le DRIVER de sink (LB.W — où partent les lignes après coalescing).
- `static get logSinkName(): string` — Nom du driver de sink actif (`"stdout"` | `"null"` | `"file"` | custom).
- `static get sinkEnabled(): boolean` — `true` si le sink texte écrit (non muté).
- `static setSinkEnabled(enabled: boolean): boolean` — Mute/démute le sink texte **à chaud, sans changer la config ni le driver** (outil dev/diagnostic — ex.
- `static overrideConsole(instance: Syslog): void` — Intercepte `console.log/warn/error/debug/info` → pipe vers le Syslog passé.
- `static restoreConsole(): void` — Restaure `console.log/warn/error/debug/info` à leurs valeurs originales.

### Constantes (2)

#### `BROWSER_ORIGIN`

```ts
const BROWSER_ORIGIN = "browser"
```

`moduleName` porté par une entrée de journal venue d'un NAVIGATEUR.

#### `SEVERITY_NAMES`

```ts
const SEVERITY_NAMES: readonly [ "EMERGENCY", "ALERT", "CRITIC", "ERROR", "WARNING", "NOTICE", "INFO", "DEBUG" ]
```

Les noms de sévérité RFC 5424, **dans l'ordre de l'enum** (l'index EST la valeur : `SEVERITY_NAMES[3] === "ERROR"`). Les huit niveaux de la RFC, et rien d'autre : une animation de terminal n'est pas un niveau de journal.

### Types (2)

#### `Severity`

```ts
type Severity = SeverityKeys | SeverityValues
```

#### `SeverityName`

```ts
type SeverityName = (typeof SEVERITY_NAMES)[number]
```

Un nom de sévérité RFC 5424.

---

[← Toutes les références d'API](../../)
