log4jmysql.properties:
log4j.rootLogger=ERROR,console,db log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss:SSS}[%p]: %m%n log4j.appender.db.layout=org.apache.log4j.PatternLayout log4j.appender.db=org.apache.log4j.jdbc.JDBCAppender log4j.appender.db.driver=com.mysql.jdbc.Driver log4j.appender.db.URL=jdbc:mysql://192.168.199.132:3306/mind?useUnicode=true&characterEncoding=UTF-8&useSSL=false log4j.appender.db.user=root log4j.appender.db.password=root log4j.appender.db.sql=insert into t_login (c_id, c_username, c_password) VALUES ('%X{userId}', '%X{username}', '%X{password}') # log4j.appender.db.sql=insert into t_login (c_username, c_password) VALUES ('%d{yyyy-MM-dd hh:mm:ss}', '%c %p %m %n')
log4jtest1.java
package com.phoenix.javatest.log4jtest; import com.phoenix.javatest.Log4jTest; import org.apache.log4j.MDC; import org.apache.log4j.PropertyConfigurator; import org.apache.log4j.xml.DOMConfigurator; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.w3c.dom.Document; import javax.xml.parsers.DocumentBuilderFactory; import java.io.InputStream; import java.util.Properties; /** * Created by Lovell on 24/10/2016. */ /* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@ @@@@@@@@ @@ @@@@@@@ @@ @@ @@@@@@@@@ @@@@@@@@@@ @@@@ @@@@@@@@ @@@@ @@@ @@@@@ @@@ @@@@@@@@ @@@@@@@@@ @@@@@@@@@@ @@@@ @@@@@@@@ @@@@ @@@@ @@@ @@@@ @@@ @@@@@@@@@ @@@@@@@@@@ @@@@ @@@@@@@@ @@@@ @@@@@ @ @@@@@ @@@@@@@@ @@@@@@@@@ @@@@@@@@@@ @@@@ @@ @@@@@@ @@@@@@ @@ @@@ @@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ */ public class Log4jtest1 { private static Logger logger = LoggerFactory.getLogger(Log4jtest1.class); private static final String LOG_CONFIG_FILE = "/log4jmysql.properties"; @Test public void test1() throws Exception { InputStream in = null; try { // 加载配置文件 in = Log4jTest.class.getResourceAsStream(LOG_CONFIG_FILE); if (LOG_CONFIG_FILE.endsWith(".xml")) { // 载入XML格式的配置文件 Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(in); DOMConfigurator.configure(doc.getDocumentElement()); logger.error("xml logger error ==>"); } else { // 载入properties格式的配置文件 Properties props = new Properties(); props.load(in); // 属性加载 PropertyConfigurator.configure(props); // 属性配置 } String userId = "11"; String username = "langzixiaoyaoyou"; String password = "123456"; MDC.put("userId", userId); MDC.put("username", username); MDC.put("password", password); logger.info("存入MySQL数据库用户ID[{}],用户名【{}】,用户密码【{}】" + userId, username, password); } catch (Exception e) { e.printStackTrace(); } } }
参考:http://www.iteye.com/problems/91158
http://www.cnblogs.com/yinliang/p/4173025.html
http://avaj.iteye.com/blog/246088