Définition des propriétés de journalisation java
Avant de lire ceci, vous devriez savoir que je suis un développeur python dans uncharted Java territoire.
Je suis en train de configurer la journalisation Java. J'ai été en mesure de le faire fonctionner quand je l'ai mis de l'exploitation forestière.les propriétés. Comme ceci:
$ /usr/bin/java -server -Xmx512m -Djava.util.logging.config.file= /path/to/logging/file/logging.properties -jar start.jar
La logging.properties
fichier est vérifié dans le contrôle de révision et dans mon jeu actuel est d'être utilisé dans tous les environnements, donc je ne veux pas coder en dur l'exploitation forestière.FileHandler.dans le schéma logging.properties
fichier. Donc, j'ai essayé de déplacer la ligne de commande, en faisant ceci:
$ /usr/bin/java -server -Xmx512m -Djava.util.logging.config.file= /path/to/logging/file/logging.properties -Djava.util.logging.FileHandler.pattern=/var/log/project_name/solr/solr.log -jar start.jar
Mais il semble que le FileHandler.motif n'est pas reconnu, donc, le fichier n'a jamais écrit. De la sorte, alors j'ai pensé, eh bien, disons juste fossé de la logging.properties
fichier et essayez à tout jeter sur la ligne de commande. De la sorte, alors j'ai essayé ceci:
$ /usr/bin/java -server -Xmx512m -Djava.util.logging.Handler=java.util.logging.FileHandler -D.level=WARNING -Djava.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter -Djava.util.logging.FileHandler.pattern=/var/log/project_name/solr/solr.log -jar start.jar
Mais cela ne fonctionne pas non plus. Donc, je demande de l'aide.
Trois questions:
- Pourquoi ne pas le deuxième exemple que j'ai donné de l'emploi?
- Pourquoi ne pas le troisième exemple que j'ai donné de l'emploi?
- Depuis l'exploitation forestière.fichier de propriétés est vérifié dans le contrôle de version et est un fichier partagé, quelle est la bonne approche? Quelle est la meilleure pratique?
Au moment de répondre, veuillez vous utilisé des petits mots pour nous de Java débutants. 🙂
OriginalL'auteur jackiekazil | 2011-06-29
Vous devez vous connecter pour publier un commentaire.
La
-Dxyz.blahbla.bla=foobar
est un Système de propriété, et non pas tout ce qui pourrait être utilisé comme un Système de propriété, parce qu'il y aura certains code qui en feront la demande pour ce bien, et même si vous pouvez mettre ce que vous voulez, personne ne va le lire.Par exemple, essayez ce code:
Et ensuite l'exécuter comme:
Donc, comme vous pouvez le deviner, maintenant, vous ne pouvez pas simplement aller et mettre tout ce qui va dans ce fichier comme un système de propriété SAUF vous lire vous-même et de le traiter en conséquence.
Donc, si vous avez absolument BESOIN de modifier le niveau de journalisation par la main comme un système de propriété vous pouvez ajouter le code pour lire que de la propriété et de définir les valeurs, mais probablement que c'est trop et je ne suis pas sûr si vous voulez y aller.
Donc, en utilisant le fichier doit être assez
J'espère que cette aide.
OriginalL'auteur OscarRyz
"Coder en dur les FileHandler modèle" peut-être pas une mauvaise chose, car le modèle peut contenir des jetons qui sont remplacés au moment de l'exécution. Je connais %t est remplacé par ce que la VM pense est le répertoire temporaire du système (comme /var/tmp ou C:\\TEMP), %h est le répertoire home de l'utilisateur (ou plutôt de l'utilisateur".accueil" système de la propriété), et il ya un peu plus mais je ne connais pas tous d'entre eux.
Si vous utilisez certains de ceux-ci, le motif peut être suffisamment génériques que vous n'avez pas à vous soucier de tenter de super-généraliser pour la portabilité.
OriginalL'auteur Ti Strga