Débogage de GeoServer

Ressources :

Cette section ne vise pas à couvrir le développeur au niveau du débogage dans GeoServer, puisqu’il s’agit d’un bien sujet agrandissement impliquant beaucoup plus d’outils. Le but ici est de fournir des techniques de “boîte noire” pour aider à résoudre et à signaler les problèmes.

Journalisation

L’exploitation forestière de GeoServer, tout en contenant parfois beaucoup trop d’informations, est la meilleure façon de commencer à diagnostiquer un problème en GeoNode une fois l’autre. Pour créer un rapport d’erreur approprié pour une utilisation à l’appui de la demande, fournir toute information contextuelle de journalisation est critique.

Lorsque vous utilisez une installation standard de geoserver, les journaux de GeoServer se trouvent à /usr/share/geoserver/data/logs/geoserver.log. Les fichiers de propriétés qui contrôlent les différentes règles sont également situés ici.

Exercices

  1. Passer les niveaux d’enregistrement pour différents journaux.

  2. Regardez les profils différents de journalisation et discuter des loggers et des niveaux.

  3. Apprendre à lire stacktraces, imbriquées ou autrement.

Dépannage avancé

Diagnostic de la JVM et des techniques de dépannage avancées sont couverts dans les documents de GeoServer liés au dessus. Lorsqu’elle fournit des informations pour un rapport de bogue, il peuvent être utiles, mais des connaissances approfondies de Java sont nécessaire pour bien comprendre la sortie de certains de ces outils.

Exercices

  1. Regardez jstack sortie

Utiliser Django à l’aide de débogage

La bibliothèque de gsconfig fournit une interface riche pour interagir avec l’API REST de GeoServer. Cela permet à des fonctions de haut niveau ainsi que la visualisation des réponses premières REST.

cat = Layer.objects.gs_catalog
cat.get_layers() # list of gsconfig layer objects
# OR, for a specific layer
lyr = Layer.objects.get(id=1)
lyr.resource # specfic gsconfig layer object
lyr.resource.fetch() # get the XML from REST
lyr.resource.dom # reference to the parsed XML
from xml.etree.ElementTree import tostring
tostring(lyr.resource.dom)