Ik probeer de gegevens die gelogd moeten worden naar een database te schrijven met behulp van Log4j. Het lukt prima om gegevens weg te schrijven (zowel naar file als naar een database), maar ik krijg het niet voor elkaar om parameters mee te geven naar mijn SQL.
Een voorbeeld om het duidelijker te maken. Mijn config file van log4j bevat onderstaande code:
...
<appender name="ERRORLOGFILE" class="org.apache.log4j.jdbc.JDBCAppender">
<param name="URL" value="jdbc:oracle:thin:@host:port:db" />
<param name="Driver" value="oracle.jdbc.driver.OracleDriver" />
<param name="User" value="username" />
<param name="Password" value="passwd" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="INSERT INTO TABLE (code, naam) VALUES ('100', ???)"/>
</layout>
</appender>
...
<category name="ERRORLOGGER">
<priority value="error"/>
<appender-ref ref="ERRORLOGFILE"/>
</category>
...
Op de plek van de vraagtekens (???) moet data komen te staan uit mijn applicatie. Wanneer ik in plaats van de vraagtekens een harde waarde codeer is het geen probleem, dan wordt deze gewoon naar de database geschreven. Dus de database connectie is geen probleem. Ik ben dus opzoek naar een mogelijkheid om een link te leggen tussen een variabele in mijn code en de vraagtekens.
Ik heb wel mogelijkheden gevonden om veel standaard info in je SQL te parkeren door middel van %r, %c enz enz maar dit lijkt niet de oplossing te bieden die ik zoek (tenzij ik over een bepaalde optie heen heb gekeken). Verder heb ik voorbeelden op internet gevonden waar de @VAR_NAAM@ notaties wordt gebruikt maar ik heb nog geen werkend (voor mij duidelijk) voorbeeld kunnen vinden waar ik wat mee kan. Het zou kunnen dat ik met deze oplossing mijn probleem oplos maar ik zou niet weten hoe de link tussen variabele uit mijn programma kan linken aan deze waarde.
Weet iemand of het bovenstaande mogelijk is? En zo ja hoe
?
Alvast bedankt.
Een voorbeeld om het duidelijker te maken. Mijn config file van log4j bevat onderstaande code:
...
<appender name="ERRORLOGFILE" class="org.apache.log4j.jdbc.JDBCAppender">
<param name="URL" value="jdbc:oracle:thin:@host:port:db" />
<param name="Driver" value="oracle.jdbc.driver.OracleDriver" />
<param name="User" value="username" />
<param name="Password" value="passwd" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="INSERT INTO TABLE (code, naam) VALUES ('100', ???)"/>
</layout>
</appender>
...
<category name="ERRORLOGGER">
<priority value="error"/>
<appender-ref ref="ERRORLOGFILE"/>
</category>
...
Op de plek van de vraagtekens (???) moet data komen te staan uit mijn applicatie. Wanneer ik in plaats van de vraagtekens een harde waarde codeer is het geen probleem, dan wordt deze gewoon naar de database geschreven. Dus de database connectie is geen probleem. Ik ben dus opzoek naar een mogelijkheid om een link te leggen tussen een variabele in mijn code en de vraagtekens.
Ik heb wel mogelijkheden gevonden om veel standaard info in je SQL te parkeren door middel van %r, %c enz enz maar dit lijkt niet de oplossing te bieden die ik zoek (tenzij ik over een bepaalde optie heen heb gekeken). Verder heb ik voorbeelden op internet gevonden waar de @VAR_NAAM@ notaties wordt gebruikt maar ik heb nog geen werkend (voor mij duidelijk) voorbeeld kunnen vinden waar ik wat mee kan. Het zou kunnen dat ik met deze oplossing mijn probleem oplos maar ik zou niet weten hoe de link tussen variabele uit mijn programma kan linken aan deze waarde.
Weet iemand of het bovenstaande mogelijk is? En zo ja hoe
Alvast bedankt.