OrientDB - Journalisation
OrientDB utilise le framework Java Logging fourni avec Java Virtual Machine. Le format de journal par défaut d'OrientDB est géré parOLogFormatter classe.
L'instruction suivante est la syntaxe de base de la commande de journalisation.
<date> <level> <message> [<requester>]
Voici les détails des options de la syntaxe ci-dessus.
<date> - Il s'agit de la date du journal au format suivant: aaaa-MM-jj HH: mm: ss: SSS.
<level> - C'est le niveau de journalisation en sortie de 5 caractères.
<message> - C'est le texte du journal, il peut être de n'importe quelle taille.
[<class>] - C'est la classe Java qui est journalisée (facultatif).
Les niveaux pris en charge sont ceux contenus dans la classe JRE java.util.logging.Level. Ils sont -
- SEVERE (valeur la plus élevée)
- WARNING
- INFO
- CONFIG
- FINE
- FINER
- FINEST (valeur la plus basse)
Par défaut, deux enregistreurs sont installés -
Console, comme sortie de l'invite shell / de commande qui démarre l'application / le serveur. Peut être modifié en définissant la variable «log.console.level».
File, comme sortie vers les fichiers journaux. Peut être modifié en définissant le 'log.file.level'.
Configurer la journalisation
Les stratégies et politiques de journalisation peuvent être configurées à l'aide d'un fichier suivant Java.
syntax - Configuration de Java Logging.
Exemple
Copiez le contenu suivant de orientdb-server-log.properties fichier et placez-le dans le $ORIENTDB_HOME/config fichier.
# Specify the handlers to create in the root logger
# (all loggers are children of the root logger)
# The following creates two handlers
handlers = java.util.logging.ConsoleHandler, java.util.logging.FileHandler
# Set the default logging level for the root logger
.level = ALL
# Set the default logging level for new ConsoleHandler instances
java.util.logging.ConsoleHandler.level = INFO
# Set the default formatter for new ConsoleHandler instances
java.util.logging.ConsoleHandler.formatter =
com.orientechnologies.common.log.OLogFormatter
# Set the default logging level for new FileHandler instances
java.util.logging.FileHandler.level = INFO
# Naming style for the output file
java.util.logging.FileHandler.pattern =../log/orient-server.log
# Set the default formatter for new FileHandler instances
java.util.logging.FileHandler.formatter = com.orientechnologies.common.log.OLogFormatter
# Limiting size of output file in bytes:
java.util.logging.FileHandler.limit = 10000000
# Number of output files to cycle through, by appending an
# integer to the base file name:
java.util.logging.FileHandler.count = 10
Pour indiquer à la JVM où le fichier de propriétés est placé, vous devez définir le "java.util.logging.config.file"propriété système. Par exemple, utilisez la commande suivante -
$ java -Djava.util.logging.config.file=mylog.properties ...
Définir le niveau de journalisation
Pour changer le niveau de journalisation sans modifier la configuration de journalisation, définissez simplement le paramètre "log.console.level" et "log.file.level"variables système aux niveaux requis.
Journalisation au démarrage
Voici les procédures pour définir la journalisation au niveau de démarrage de différentes manières.
Dans la configuration du serveur
Ouvrez le fichier orientdb-server-config.xml et ajoutez ou mettez à jour ces lignes à la fin du fichier dans la section <properties> -
<entry value = "fine" name = "log.console.level" />
<entry value = "fine" name = "log.file.level" />
Dans le script Server.sh (ou .bat)
Définissez la propriété système "log.console.level" et "log.file.level"aux niveaux souhaités en utilisant le paramètre -D de java.
$ java -Dlog.console.level = FINE ...
Journalisation au moment de l'exécution
Voici les procédures pour définir la journalisation au niveau de démarrage de différentes manières.
En utilisant le code Java
La variable système peut être définie au démarrage à l'aide de l'API System.setProperty (). L'extrait de code suivant est la syntaxe permettant de définir le niveau de journalisation à l'aide du code Java.
public void main(String[] args){
System.setProperty("log.console.level", "FINE");
...
}
Sur un serveur distant
Exécutez un HTTP POST contre l'URL: /server/log.<type>/ <level>, où -
- <type> peut être "console" ou "fichier"
- <level> est l'un des niveaux pris en charge
Exemple
L'exemple suivant utilise cURLpour exécuter une commande HTTP POST sur le serveur OrientDB. L'utilisateur et le mot de passe "root" du serveur ont été utilisés, remplacez-les par votre propre mot de passe.
Activez le niveau de traçage le plus fin pour la console -
curl -u root:root -X POST http://localhost:2480/server/log.console/FINEST
Activer le niveau de traçage le plus fin pour le fichier -
curl -u root:root -X POST http://localhost:2480/server/log.file/FINEST