Bonjour, je suis sur Netbeans et j'essaie de lire un fichier log d'un serveur d'application en temps r�el. Alors, quelle est la m�thode simple pour savoir qu'une nouvelle ligne a �t� ins�r�e dans le fichier log afin d'�xecuter une action? en JAVA
Version imprimable
Bonjour, je suis sur Netbeans et j'essaie de lire un fichier log d'un serveur d'application en temps r�el. Alors, quelle est la m�thode simple pour savoir qu'une nouvelle ligne a �t� ins�r�e dans le fichier log afin d'�xecuter une action? en JAVA
Salut essaies ceci:
EricCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 String[] args = new String[]{"messages.log"}; System.out.println(args); if (args.length > 0) { if (args.length > 1) sleepTime = Long.parseLong(args[1]) * 1000; BufferedReader input = new BufferedReader(new FileReader(args[0])); String currentLine = null; while (true) { if ((currentLine = input.readLine()) != null) { System.out.println(currentLine); continue; } try { Thread.sleep(sleepTime); } catch (InterruptedException e) { Thread.currentThread().interrupt(); break; } } input.close(); } else { System.out.println( "Missing parameter!\nUsage: java JavaTail fileName [updateTime (Seconds. default to 1 second)]"); }
Tu peux aussi regarder du c�t� du Watch Service API de java.nio.file
D'apr�s Oracle :
C'est plus lourd que la solution de jeffray03 et je n'ai pas test� java.nio.file en production.Citation:
The Watch Service API is designed for applications that need to be notified about file change events.
Mais cela a l'air prometteur dans la mesure o� il devrait r�agir � chaque changement dans le fichier log que tu veux surveiller.
Hello,
l'exemple de code que tu montres ne surveille aucun changement de fichier. Il lit le fichier tel qu'il est, une fois. Puis c'est fini, le fichier est oubli�. Le programme tourne en boucle sans rien faire.