我们可以使用 Log4j API通过使用org.apache. log4j . jdbc .JDBCAppender对象将信息记录到数据库中。
下表列出了JDBCAppender的配置属性。
例子
首先,创建一个表来存储日志信息。
CREATE TABLE LOGS (USER_ID VARCHAR(20) NOT NULL, DATED DATE NOT NULL, LOGGER VARCHAR(50) NOT NULL, LEVEL VARCHAR(10) NOT NULL, MESSAGE VARCHAR(1000) NOT NULL );
然后,为JDBCAppender创建配置文件log4j.properties,该文件控制如何连接到数据库以及如何将日志消息存储到LOGS表。
# Define the root logger with appender file
log4j.rootLogger = DEBUG, DB
# Define the DB appender
log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender
# Set JDBC URL
log4j.appender.DB.URL=jdbc: mysql ://localhost/Your_Database_Name
# Set Database Driver
log4j.appender.DB.driver=com.mysql.jdbc.Driver
# Set database user name and password
log4j.appender.DB.user=your_user_name
log4j.appender.DB.password=your_password
# Set the SQL statement to be executed.
log4j.appender.DB.sql=INSERT INTO LOGS
VALUES("%x","%d","%C","%p","%m")
# Define the layout for file appender
log4j.appender.DB.layout=org.apache.log4j.PatternLayout
以下代码显示如何将信息记录到数据库中。
import org.apache.log4j.Logger; import java.sql.*; import java.io.*; import java.util.*; public class Main{ static Logger log = Logger.getLogger(Main.class.getName()); public static void main(String[] args) throws IOException,SQLException{ log.debug("Debug"); log.info("Info"); } }