First create three tables and create them according to your needs.
<?XML version= "1.0" encoding= "UTF-8"?><!DOCTYPE log4j:configuration SYSTEM "Log4j.dtd"><log4j:configurationxmlns:log4j= ' http://jakarta.apache.org/log4j/'> <Appendername= "STDOUT"class= "Org.apache.log4j.ConsoleAppender"> <Layoutclass= "Org.apache.log4j.PatternLayout"> <paramname= "Conversionpattern"value= "[%d{yyyy-mm-dd HH:mm:ss}]%x{ip}%t%p%c ————%x{name}%m%n" /> </Layout> </Appender> <Appendername= "INFO"class= "Org.apache.log4j.jdbc.JDBCAppender"> <paramname= "URL"value= "Jdbc:mysql://ip:3306/log_repository?useunicode=true&characterencoding=utf-8"/> <paramname= "User"value="****"/> <paramname= "Password"value="****"/> <paramname= "Driver"value= "Com.mysql.jdbc.Driver"/> <Layoutclass= "Org.apache.log4j.PatternLayout"> <paramname= "Conversionpattern"value= "INSERT into Sys_log_info (userid,name,log_time,log_level,location,message) VALUES ('%x{userid} ', '%x{name} ', '% D{yyyy-mm-dd HH:mm:ss} ', '%p ', '%l ', '%m ') "/> </Layout> <Filterclass= "Org.apache.log4j.varia.LevelRangeFilter"> <!--set the minimum level of log output - <paramname= "Levelmin"value= "INFO" /> <!--set the maximum level of log output - <paramname= "Levelmax"value= "INFO" /> </Filter> </Appender> <Appendername= "WARN"class= "Org.apache.log4j.jdbc.JDBCAppender"> <paramname= "URL"value= "Jdbc:mysql://ip:3306/log_repository?useunicode=true&characterencoding=utf-8"/> <paramname= "User"value="****"/> <paramname= "Password"value="****"/> <paramname= "Driver"value= "Com.mysql.jdbc.Driver"/> <Layoutclass= "Org.apache.log4j.PatternLayout"> <paramname= "Conversionpattern"value= "INSERT into Sys_log_warn (userid,name,log_time,log_level,location,message) VALUES ('%x{userid} ', '%x{name} ', '% D{yyyy-mm-dd HH:mm:ss} ', '%p ', '%l ', '%m ') "/> </Layout> <Filterclass= "Org.apache.log4j.varia.LevelRangeFilter"> <!--set the minimum level of log output - <paramname= "Levelmin"value= "WARN" /> <!--set the maximum level of log output - <paramname= "Levelmax"value= "WARN" /> </Filter> </Appender> <Appendername= "ERROR"class= "Org.apache.log4j.jdbc.JDBCAppender"> <paramname= "URL"value= "Jdbc:mysql://ip:3306/log_repository?useunicode=true&characterencoding=utf-8"/> <paramname= "User"value="****"/> <paramname= "Password"value="****"/> <paramname= "Driver"value= "Com.mysql.jdbc.Driver"/> <Layoutclass= "Org.apache.log4j.PatternLayout"> <paramname= "Conversionpattern"value= "INSERT into Sys_log_error (userid,name,log_time,log_level,location,message) VALUES ('%x{userid} ', '%x{name} ', ' %d{yyyy-mm-dd HH:mm:ss} ', '%p ', '%l ', '%m ') "/> </Layout> <Filterclass= "Org.apache.log4j.varia.LevelRangeFilter"> <!--set the minimum level of log output - <paramname= "Levelmin"value= "ERROR" /> <!--set the maximum level of log output - <paramname= "Levelmax"value= "ERROR" /> </Filter> </Appender> <Root> < Priorityvalue= "Debug" /> <Appender-refref= "STDOUT" /> <Appender-refref= "INFO" /> <Appender-refref= "WARN" /> <Appender-refref= "ERROR" /> </Root></log4j:configuration>
Log4j.xml storing logs to the database at the level of