Référence d'API — nodefony/client — syslog
stable
Documentation › Référence d’API › nodefony › client-syslog
Générée depuis les déclarations de types publiées de
nodefony10.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#
class Pdu
payload: Pciuid: numberseverity: numbertimeStamp: numberseverityName: keyof typeof SysLogSeveritytypePayload: string | nullmoduleName: ModuleNamemsgid: Msgidmsg: Messagestatus: Statuspid: 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 durequestIdcourant (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#
class Syslog extends Event implements ISyslog
Hub central de logs structurés de Nodefony — conforme RFC 5424.
settings: SyslogDefaultSettingsburstPrinted: numbermissed: numberinvalid: numbervalid: numbererrorTotal: 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: numbergated: 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—truesi 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—truesi la diffusion temps réel (nodefony:syslog) est active.setStreamEnabled(enabled: boolean): boolean— Active/désactive la diffusion temps réel (busnodefony: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 auxmaxplus récents si on rétrécit).static formatDebug(debug: DebugType): DebugTypeinit(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, ounullsi invalide.static parseDebugSpec(spec: string): { global: boolean; overrides: Array<{ module: string; level: number; }>; }— Parse une specNF__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(): booleanset async(value: boolean)clean(): this— Alias dereset— 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 compteurvalid.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[] | PdugetLogs(conditions?: conditionsInterface | null, stack?: Pdu[] | null): Pdu[]logToJson(conditions?: conditionsInterface | null, stack?: Pdu[] | null): stringloadStack(stack: Pdu[] | string, doEvent?: boolean, beforeConditions?: (pdu: Pdu, stackItem: Pdu) => void | null): Pdu[]filter(conditions: conditionsInterface, callback: CallbackFunction): voidlistenWithConditions(conditions: conditionsInterface, callback: CallbackFunction): voiderror(data: Pci): Pduwarn(data: Pci): Pduinfo(data: Pci): Pdudebug(data: Pci): Pdutrace(data: Pci, msgid?: ModuleName, msg?: Message): Pduprint(...args: Pci[]): PdulogMultiple(severity: Severity, ...args: Pci[]): PduaddTransport(transport: ITransport): thisremoveTransport(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 lenamede l’ITransport(console,file,loki,syslog…) et son étatenabled.setTransportEnabled(name: string, enabled: boolean): boolean— Active/désactive un transport d’écriture à chaud, par nom (outil dev / diagnostic — ex.static wrapper(pdu: Pdu): WrapperResultstatic normalizeLog(pdu: Pdu, pid?: string): Pdu— Transport console par défaut — formate un Pdu et l’écrit versprocess.stdoutouprocess.stderrselon sévérité (ERROR+ vers stderr).static rawLog(pdu: Pdu, pid?: string): Pdustatic setOutputBuffering(mode: boolean | "auto"): void— Mode de bufférisation de la sortie console — process-global (un seulprocess.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 (cfSyslog.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—truesi 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— Intercepteconsole.log/warn/error/debug/info→ pipe vers le Syslog passé.static restoreConsole(): void— Restaureconsole.log/warn/error/debug/infoà leurs valeurs originales.
Constantes (2)#
BROWSER_ORIGIN#
const BROWSER_ORIGIN = "browser"
moduleName porté par une entrée de journal venue d’un NAVIGATEUR.
SEVERITY_NAMES#
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#
type Severity = SeverityKeys | SeverityValues
SeverityName#
type SeverityName = (typeof SEVERITY_NAMES)[number]
Un nom de sévérité RFC 5424.