Need
Journalisation de l’App
Default options
Why it's needed
La journalisation unifiée structurée offre à Codex une boucle de rétroaction ciblée et filtrable, sans transformer le code source en accumulation d’instructions print.
.md to the page URL.
Codex use case
Utilisez Codex pour instrumenter une fonctionnalité Mac avec Logger, lancer l’application et vérifier l’action dans les journaux unifiés.
Utilisez Codex et le plugin Build macOS Apps pour ajouter quelques événements Logger à forte valeur informative autour des fenêtres, des barres latérales, des commandes ou des flux de synchronisation, puis lancez l’application et vérifiez dans Console ou avec log stream que les actions attendues ont bien été déclenchées.
Utilisez Codex pour instrumenter une fonctionnalité Mac avec Logger, lancer l’application et vérifier l’action dans les journaux unifiés.
Utilisez Codex et le plugin Build macOS Apps pour ajouter quelques événements Logger à forte valeur informative autour des fenêtres, des barres latérales, des commandes ou des flux de synchronisation, puis lancez l’application et vérifiez dans Console ou avec log stream que les actions attendues ont bien été déclenchées.
Utilisez Codex et le plugin Build macOS Apps pour ajouter quelques événements Logger à forte valeur informative autour des fenêtres, des barres latérales, des commandes ou des flux de synchronisation, puis lancez l’application et vérifiez dans Console ou avec log stream que les actions attendues ont bien été déclenchées.
Liens connexes
| Skill | Why use it |
|---|---|
| Build macOS Apps | Utilisez les skills de télémétrie macOS et de compilation/exécution pour ajouter une instrumentation structurée avec `OSLog`, lancer l’application, suivre le parcours dans l’interface et vérifier les événements émis dans Console ou avec `log stream`. |
Ce cas d’usage concerne les flux d’applications Mac pour lesquels « quelque chose s’est produit » est une indication trop vague pour déboguer uniquement à partir d’une revue de code. Demandez à Codex d’ajouter quelques événements de journalisation unifiée à forte valeur informative autour d’un comportement, de lancer l’application, de déclencher ce comportement et de vérifier dans Console ou avec log stream que les événements attendus ont bien été émis.
Utilisez le plugin Build macOS Apps pour cette boucle. Le skill de télémétrie macOS qu’il fournit est volontairement léger : utilisez le Logger d’Apple, choisissez une paire sous-système/catégorie claire, journalisez les étapes clés des actions et les transitions d’état, évitez les données sensibles et vérifiez l’événement après une compilation et une exécution locales, plutôt que de supposer que l’instrumentation est correctement intégrée.
De bons journaux offrent à Codex une boucle de rétroaction reproductible après chaque patch. Au lieu de vous demander d’inspecter manuellement chaque fenêtre, action de menu ou transition de synchronisation, l’agent peut exécuter l’application, parcourir le flux, examiner les journaux filtrés et déterminer la prochaine modification à apporter au code à partir d’éléments concrets.
C’est particulièrement utile pour trois boucles agentiques :
Demandez à Codex de créer un logger pour chaque domaine fonctionnel, plutôt qu’une ligne de journal permanente pour chaque modification d’état. Des catégories fonctionnelles telles que Windowing, Commands, MenuBar, Sidebar, Sync ou Import facilitent considérablement le filtrage des journaux lors de la prochaine session de débogage.
import OSLog
private let logger = Logger(
subsystem: Bundle.main.bundleIdentifier ?? "SampleApp",
category: "Sidebar"
)
@MainActor
func selectItem(_ item: SidebarItem) {
logger.info("Selected sidebar item: \(item.id, privacy: .public)")
selection = item.id
}
Utilisez info pour consigner les événements concis liés aux actions et au cycle de vie qui doivent rester utiles dans la durée, et debug pour les détails plus verbeux sur l’état local, susceptibles d’être supprimés ou journalisés à un niveau inférieur avant la fin de la tâche. N’ajoutez de marqueurs d’intervalle que pour mesurer une durée, et non par défaut.
L’intérêt ne réside pas uniquement dans l’ajout d’appels à Logger. Demandez à Codex d’exécuter l’application, de déclencher le flux instrumenté, puis de vous fournir le filtre Console exact ou le prédicat log stream utilisé, ainsi qu’une ou deux lignes de journal représentatives.
log stream --style compact --predicate 'subsystem == "com.example.app" && category == "Sidebar"'
Si un événement attendu n’apparaît pas, demandez à Codex de rapprocher le point de journalisation du chemin de contrôle suspecté, de réexécuter le même flux et de poursuivre les itérations jusqu’à ce que les journaux expliquent ce qui s’est passé. Si la tâche se transforme en analyse de plantage ou de trace d’appels, passez au workflow de débogage avec compilation/exécution du plugin et concentrez la télémétrie sur les étapes clés des actions.
Pour les bugs qui nécessitent des sessions plus longues ou qui surviennent par intermittence, demandez à Codex d’enregistrer un flux de journaux ciblé dans un petit fichier de trace local, de résumer la chronologie et de laisser cet artefact dans l’espace de travail. Une exécution ultérieure de Codex pourra ainsi examiner les mêmes éléments sans avoir à reconstituer toute la session de mémoire. Le débogage en plusieurs passes devient plus simple lorsqu’une exécution de l’agent collecte une trace et qu’une autre compare le comportement avant et après un patch.
Cette méthode est également adaptée lorsque vous devez piloter une partie de la session. Demandez à Codex de lancer l’application dans une boucle de débogage facilitant la journalisation, de démarrer une capture filtrée, d’attendre pendant que vous reproduisez manuellement le problème, puis de lire le fichier de trace enregistré une fois que vous avez terminé.
Commencez par un seul flux lié à une barre latérale, une fenêtre, une commande ou une synchronisation, afin que la séquence de journaux reste facile à examiner. Une fois ce flux fiable, Codex peut appliquer le même modèle aux flux voisins.
Demandez à Codex d’expliquer chaque identifiant journalisé et d’éviter d’écrire des secrets, des données personnelles ou du contenu brut dans les journaux unifiés. Un vocabulaire d’événements très restreint suffit généralement au débogage local.
Des lignes de journal représentatives permettent de se fier à la modification bien plus facilement que la simple affirmation « la télémétrie a été ajoutée ». Demandez à Codex d’inclure le prédicat de filtrage et une courte chronologie des actions afin que la prochaine exécution de l’agent puisse réutiliser la même boucle de vérification.
Need
Default options
Why it's needed
Need
Journalisation de l’App
Default options
Why it's needed
La journalisation unifiée structurée offre à Codex une boucle de rétroaction ciblée et filtrable, sans transformer le code source en accumulation d’instructions print.
Need
Workflow de l’agent
Default options
Why it's needed
Les skills de télémétrie et de compilation/exécution du plugin sont conçus pour fonctionner ensemble : instrumenter un flux, lancer l’application, examiner les journaux, puis affiner l’ensemble des événements.
Need
Vérification à l’exécution
Default options
Console.app et log stream --predicate ...
Why it's needed
Un filtre de journaux précis accompagné d’un exemple de sortie offre à l’agent un point de reprise reproductible et facilite la vérification de la nouvelle instrumentation d’une exécution à l’autre.
| Need | Default options | Why it's needed |
|---|---|---|
| Journalisation de l’App | OSLog Logger | La journalisation unifiée structurée offre à Codex une boucle de rétroaction ciblée et filtrable, sans transformer le code source en accumulation d’instructions print . |
| Workflow de l’agent | plugin Build macOS Apps | Les skills de télémétrie et de compilation/exécution du plugin sont conçus pour fonctionner ensemble : instrumenter un flux, lancer l’application, examiner les journaux, puis affiner l’ensemble des événements. |
| Vérification à l’exécution | Console.app et log stream --predicate ... | Un filtre de journaux précis accompagné d’un exemple de sortie offre à l’agent un point de reprise reproductible et facilite la vérification de la nouvelle instrumentation d’une exécution à l’autre. |
Utilisez Codex et le plugin Build macOS Apps pour transformer une idée d’application en...
Utilisez Codex pour développer des apps macOS avec SwiftUI, mettre en place une boucle de...
Demandez à Codex d’examiner votre application d’IA, d’identifier le comportement à évaluer...