Ajout de la sortie d'un fichier de commandes dans le fichier De log
J'ai un fichier de commandes qui appelle un programme java.
La sortie est redirigée vers un fichier de log dans le même répertoire.
Toutefois, le fichier journal est remplacé chaque fois que le fichier de commandes est exécuté...
Je voudrais garder l'ancienne sorties dans le fichier journal et toujours ajouter la nouvelle sortie pour le fichier journal.
- Comment rediriger la sortie de la console ainsi que le fichier de log?
Vous devez vous connecter pour publier un commentaire.
Au lieu d'utiliser ">" pour rediriger comme ceci:
utiliser ">>" pour ajouter à la normale "stdout" de la sortie vers un fichier nouveau ou existant:
Toutefois, si vous aussi vous voulez capturer "stderr" des erreurs (telles que pourquoi le programme Java ne pouvait pas être démarré), vous devez également utiliser le "2>,&1" tag qui redirige "stderr" (le "2") à "stdout" (le "1"). Par exemple:
Ce n'est pas une réponse à votre question de départ: "Ajout de la sortie d'un fichier de commandes dans le fichier De log?"
Pour la référence, c'est la réponse à votre question de suivi: "Ce que les lignes devrais-je ajouter à mon fichier batch qui va la faire exécuter après chaque 30 minutes?"
(Mais je prendrais Jon Skeet conseils: "Vous ne devriez probablement pas le faire dans votre fichier de commandes - au lieu de cela, utiliser le Planificateur de Tâches.")
Délai d'attente:
timeout
de commande 1timeout
commande 2Exemple (1):
TIMEOUT /T 1000 /NOBREAK
Sommeil:
sommeil
de la commande (si de sleep.exe est installé)Exemple (1):
sleep -m 1000
Méthodes alternatives:
Voici une réponse à votre 2ème question de suivi: "avec le Timestamp?"
Créer de la date et de l'heure dans vos fichiers batch
Exemple:
echo *** Date: %DATE:/=-% and Time:%TIME::=-% *** >> output.log
Utiliser log4j dans votre programme java à la place. Ensuite, vous pouvez générer plusieurs médias, créer des rolling journaux, etc. et inclure d'horodateurs, la classe des noms et des numéros de ligne.