Anmelden

View Full Version : JAVA stderr-Ausgabe in ifs-Datei stellen



Seiten : 1 [2]

BenderD
18-04-12, 14:08
... bei mir wird die bei > nicht neu erstellt, sondern nur mit clear geöffnet, behält alos ihre Eigenschaftten (gerade mal auf 2 Büchsen ausprobiert)

D*B,
der immer noch ungeneigt ist da jedesmal eine JVM zu starten und auch stderr nicht für eine geeignete Ausgabe hält, weder als Rückmeldung, noch als log...



Ergänze dein Script mit folgenden Befehlen:

echo >stderr.txt;
touch -C 1252 stderr.txt;
java ..... 2>>stderr.txt;

Wichtig ist, dass die Datei vor der Befüllung die richtige CCSID haben muss.
Die einfache Umleitung "2>stderr.txt" erstellt immer eine neue Datei und löscht die Alte.
Die ergänzende Umleitung "2>>stderr.txt" hängt die Daten an, die CCSID wird berücksichtigt.

BenderD
18-04-12, 14:33
ok, ich versuche das gerade...

wie muss ich das schreiben, wenn ich sowohl stdout(1) als auch stderr(2) in 2 unterschiedliche Dateien schreiben will?

Vielen Dank schon mal, für eine Datei geht's schon:D:D

Siegfried

java -verbose Huhu > hurra.txt 2> schade.txt

dann steht der verbose Krumsch in hurra.txt und der ClassNotFound Kramsch in schade.txt

D*B

flieger_siggi
18-04-12, 15:03
ich deh' am Rad...

Einmal hatte die Version von H. Fuerchau funktioniert, dann hatte ich die Version mit QIBM_CCSID noch ausprobiert, ging aber nicht. Dann wieder zurück zur ersten Lösung:
JETZT GEHT'S GAR NICHT MEHR:mad:
IMMER NUR NOCH CCSID VOM JOB WIRD VERWENDET.
Habe jetzt mal ein kleines Script nur mit
echo "Programm startet..." >/home/javaablauf/test/log/stderr.log
touch -C 1252 /home/javaablauf/test/log/stderr.log
erstellt. Auch das erzeugt eine DAtei mit CCSID vom Job.????

Siegfried

BenderD
18-04-12, 15:14
... das Glücksrad hilft da wenig...
- Datei erstellen
- cpy hat Option TOCCSID
und dann gehts weiter mit UmLeiTung

D*B

Pikachu
18-04-12, 15:33
Welches Release hast du?

Unter V5R4 geht das (gerade probiert):

QSH CMD('rm /tmp/hallo.txt; export QIBM_CCSID=1252; echo "hallo" > /tmp/hallo.txt')

Fuerchau
18-04-12, 15:58
Der "touch" verändert die Daten selber nicht sondern setzt nur das CCSID-Attribut!
Die nächste Dateiausgabe wird dann in diese CCSID umgewandelt bzw. diese CCSID bei allen Umwandlungen genommen.

Du musst nun also eine leere Datei erstellen "echo >Myfile.txt", diese dann per "touch" auf die CCSID setzen und anschließend erst Daten reinschreiben.