Quiero que log4j registre mis errores en una base de datos MySql, pero la documentación oficial sobre esto es bastante escasa (¿por qué?). De todos modos, aquí está mi intento de un archivo de configuración log4j.xml:Anexor de la base de datos Log4j
<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>
necesito el parámetro "aplicación" para ser personalizado. Con log4net en C#, en mi código Yo añadiría así:
log4net.GlobalContext.Properties["Application"] = applciation;
y añadirlo al igual que en mi xml archivo de configuración:
<parameter>
<parameterName value="?application" />
<dbType value="String" />
<size value="50" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%property{Application}" />
</layout>
</parameter>
me preguntaba ¿cómo puedo hacer la misma cosa con log4j?
Gracias!
No hace tanto tiempo he usado esta: http: //www.mannhaupt.com/danko/projects/ pero DB registro no es un buen idea.Is Tal es demasiado 'exepensive' en recursos . – Cris
Sí, veo tu punto. En el futuro, me gustaría enviar mis registros a un servicio web que manejará el registro DB a través de TCPAppender (esto debería existir, ¿verdad?). Sin embargo, por el momento se registra directamente en la base de datos. – Mathieu