13.3.4. Configurer un Log Handler de fichiers dans le CLI

Les Log Handlers de fichiers peuvent être ajoutés, supprimés ou modifiés dans le CLI.
Voici les tâches principales qui vous reviendront pour configurer un Log Handler de fichiers :
  • Ajouter un nouveau Log Handler de fichiers.
  • Afficher la configuration d'un Log Handler de fichiers
  • Définir le niveau de journalisation du handler.
  • Définir le comportement d'ajout du handler.
  • Définir si le handler utilise autoflush ou non.
  • Définir la codification utilisée pour la sortie du handler.
  • Indiquer le fichier dans lequel le Log Handler écrit.
  • Définir le formateur utilisé pour la sortie du handler.
  • Supprimer un Log Handler de fichiers.

Important

Pour la configuration d'un handler de journalisation dans un profil de journalisation, la racine (root) du chemin de configuration est /subsystem=logging/logging-profile=NAME/ au lieu de /subsystem=logging/.
Ajouter un Log Handler de fichiers
Utiliser l'opération add avec la syntaxe suivante. Remplacer PATH par le nom du fichier dans lequel le log est écrit. Remplacer DIR par le nom du répertoire dans lequel le fichier se trouve. La valeur DIR peut correspondre à une variable de chemin.
 /subsystem=logging/file-handler=HANDLER:add(file={"path"=>"PATH", "relative-to"=>"DIR"}) 

Exemple 13.20. Ajouter un Log Handler de fichiers

[standalone@localhost:9999 /] /subsystem=logging/file-handler=accounts_log:add(file={"path"=>"accounts.log", "relative-to"=>"jboss.server.log.dir"})
{"outcome" => "success"}
[standalone@localhost:9999 /]
Afficher une configuration de Log Handler de fichiers
Utiliser l'opération read-resource avec la syntaxe suivante. Remplacer HANDLER par le nom du Log Handler de fichiers.
 /subsystem=logging/file-handler=HANDLER:read-resource 

Exemple 13.21. Utilisation de l'opération read-resource

[standalone@localhost:9999 /] /subsystem=logging/file-handler=accounts_log:read-resource
{
    "outcome" => "success",
    "result" => {
        "append" => true,
        "autoflush" => true,
        "encoding" => undefined,
        "file" => {
            "path" => "accounts.log",
            "relative-to" => "jboss.server.log.dir"
        },
        "filter" => undefined,
        "formatter" => "%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n",
        "level" => undefined
    }
}
[standalone@localhost:9999 /]
Définir Niveau de journalisation
Utiliser l'opération change-log-level avec la syntaxe suivante. Remplacer HANDLER par le nom du Log Handler de fichiers et LEVEL par le niveau de journalisation à définir.
 /subsystem=logging/file-handler=HANDLER:change-log-level(level="LEVEL") 

Exemple 13.22. Changer le niveau de journalisation

/subsystem=logging/file-handler=accounts_log:change-log-level(level="DEBUG")
{"outcome" => "success"}
[standalone@localhost:9999 /]
Définir le comportement d'ajout
Utiliser l'opération write-attribute avec la syntaxe suivante. Remplacer HANDLER par le nom du Log Handler de fichiers. Remplacer BOOLÉEN par false si vous souhaitez qu'un nouveau fichier de journalisation soit créé à chaque fois qu'un serveur d'applications est lancé. Remplacer BOOLÉEN par true si le serveur d'applications doit continuer à utiliser le même fichier.
 /subsystem=logging/file-handler=HANDLER:write-attribute(name="append", value="BOOLEAN") 

Exemple 13.23. Changer la propriété d'ajout

[standalone@localhost:9999 /] /subsystem=logging/file-handler=accounts_log:write-attribute(name="append", value="true")
{
    "outcome" => "success",
    "response-headers" => {
        "operation-requires-reload" => true,
        "process-state" => "reload-required"
    }
}
[standalone@localhost:9999 /]
JBoss Enterprise Application Platform 6 doit démarrer à nouveau pour prendre effet.
Définir Auto Flush
Utiliser l'opération write-attribute avec la syntaxe suivante. Remplacer HANDLER par le nom du Log Handler de fichiers et BOOLEAN par true si le handler doit écrite sa sortie immédiatement.
 /subsystem=logging/file-handler=HANDLER:write-attribute(name="autoflush", value="BOOLEAN") 

Exemple 13.24. Changer la propriété autoflush

[standalone@localhost:9999 /] /subsystem=logging/file-handler=accounts_log:write-attribute(name="autoflush", value="false")
{
    "outcome" => "success",
    "response-headers" => {"process-state" => "reload-required"}
}
[standalone@localhost:9999 /]
JBoss Enterprise Application Platform 6 doit démarrer à nouveau pour prendre effet.
Définir le Codage
Utiliser l'opération write-attribute avec la syntaxe suivante. Remplacer HANDLER par le nom du Log Handler de fichiers et ENCODING par le nom de codification du caractère qui convient.
 /subsystem=logging/file-handler=HANDLER:write-attribute(name="encoding", value="ENCODING") 

Exemple 13.25. Définir le Codage

[standalone@localhost:9999 /] /subsystem=logging/file-handler=accounts_log:write-attribute(name="encoding", value="utf-8")     
{"outcome" => "success"}
[standalone@localhost:9999 /]
Changer le fichier dans lequel le Log Handler écrit.
Utiliser l'opération change-file avec la syntaxe suivante. Remplacer PATH par le nom du fichier dans lequel le log est écrit. Remplacer DIR par le nom du répertoire dans lequel le fichier se trouve. La valeur DIR peut correspondre à une variable de chemin.
 /subsystem=logging/file-handler=HANDLER:change-file(file={"path"=>"PATH", "relative-to"=>"DIR"}) 

Exemple 13.26. Changer le fichier dans lequel le Log Handler écrit.

[standalone@localhost:9999 /] /subsystem=logging/file-handler=accounts_log:change-file(file={"path"=>"accounts-debug.log", "relative-to"=>"jboss.server.log.dir"})
{"outcome" => "success"}
[standalone@localhost:9999 /]
Définir Formateur
Utiliser l'opération write-attribute avec la syntaxe suivante. Remplacer HANDLER par le nom du Log Handler de fichiers et FORMAT par le string de formateur requis.
 /subsystem=logging/file-handler=HANDLER:write-attribute(name="formatter", value="FORMAT") 

Exemple 13.27. Définir Formateur

[standalone@localhost:9999 /] /subsystem=logging/file-handler=accounts-log:write-attribute(name="formatter", value="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n")
{"outcome" => "success"}
[standalone@localhost:9999 /]
Supprimer un Log Handler de fichiers.
Utiliser l'opération remove avec la syntaxe suivante. Remplacer HANDLER par le nom du Log Handler de fichiers à supprimer.
 /subsystem=logging/file-handler=HANDLER:remove 

Exemple 13.28. Supprimer un Log Handler de fichiers.

[standalone@localhost:9999 /] /subsystem=logging/file-handler=accounts_log:remove
{"outcome" => "success"}
[standalone@localhost:9999 /]
Un Log Handler ne peut être supprimé que s'il ne peut pas être référencé par une catégorie de journalisation ou par un Log Handler async.