Я хочу, чтобы log4j регистрировал мои ошибки в базе данных MySql, но официальной документации по этому вопросу довольно мало (почему?).
В любом случае, вот моя попытка создать файл конфигурации log4j.xml:
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="jdbcAppender" class="org.apache.log4j.jdbc.JDBCAppender">
<param name="URL" value="jdbc:mysql://my_host/my_database" />
<param name="Driver" value="com.mysql.jdbc.Driver" />
<param name="User" value="my_user_name" />
<param name="Password" value="my_passwod" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="INSERT INTO errorlogs (Date, log_level, Application, Message, Exception) VALUES (TIMESTAMP(now()),'%p', ?? '%m', '%e' )"
/>
</layout>
</appender>
Мне нужно, чтобы параметр «Приложение» был пользовательским. С log4net в C #, в моем коде я бы добавил это так:
log4net.GlobalContext.Properties["Application"] = applciation;
и добавьте его так в моем конфигурационном файле xml:
<parameter>
<parameterName value="?application" />
<dbType value="String" />
<size value="50" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%property{Application}" />
</layout>
</parameter>
Мне было интересно, как я могу сделать то же самое с log4j?
Спасибо!