Log4J LogDateiname = Eingangsdateiname

takidoso

Erfahrenes Mitglied
Hallo und Halli,
seitdem ich Log4J mit XML-Dateien konfiguriere habe ich mich mittlerweile etwas mehr mit dem Logger angefreundet....
Nun habe ich den Willen bei einem dateiverarbeitenden Programm die Log-Datei identisch allerdings mit suffix wie die Eingangsdatei zu benennen.
ich habe hier im Forum etwas gefunden was offenbar in die richtige Richtung geht...
hier
Aber nun meine Frage gibt es vielleicht eine noch leichtere Möglichkeit, am besten vielleicht sogar nur mit Log4J-Bordmitteln?

herzlichen Dank für Hinweise schonmal im Voraus

Takidoso
 
Ich habe es nun über die System-Properties gelöst.
Am Anfang meiner Main-Routine lese ich den Namen der Eingangsdatei und Ausgangsdatei und schiebe sie mittels
Code:
System.setProperty("inputfilename" arg[2]) 
System.setProperty("outputfilename" arg[3])
I
n der Konfigurationsdatei für Log4J verweise ich dann wieder darauf
Code:
<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> 
<appender name="jdtaconv" class="org.apache.log4j.FileAppender"> 
        <param name="file" value="logs/${user.name}/${inputfilename}.log" /> 
        <param name="Append" value="false" /> 
        <layout class="org.apache.log4j.PatternLayout"> 
                <param name="ConversionPattern" 
                        value="%d{ISO8601} %-5p [%t] %c: %m%n" /> 
        </layout> 
</appender> 

<category name="de.tai.jdtatool2"> 
        <priority value="TRACE" /> 
        <appender-ref ref="jdtaconv" /> 
</category> 

</log4j:configuration>
das ganze ist zwar alles andere als arg dynamisch, da vor einem cofigure() bzw confirureAndWatch() die Properties gesetzt werden müssen, aber es ist die simpelste Möglichkeit die ich erstmal mit den Bordmitteln gefunden und erfolgreich getestet habe.
 
Zurück