手順1:まず、log4j.jarをプロジェクトに組み込む必要があります。怒鳴るような
step 2.Configure JDBCAppender in log4j.properties file as bellow to store
logging in database.
log4j.properties:
# Define the root logger with file appender
log4j.rootLogger = DEBUG, sql
# Define the file appender
log4j.appender.sql=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.sql.URL=jdbc:mysql://localhost/test
# Set Database Driver
log4j.appender.sql.driver=com.mysql.jdbc.Driver
# Set database user name and password
log4j.appender.sql.user=root
log4j.appender.sql.password=password
# Set the SQL statement to be executed.
log4j.appender.sql.sql=INSERT INTO LOGS VALUES ('%x', now()
,'%C','%p','%m')
# Define the xml layout for file appender
log4j.appender.sql.layout=org.apache.log4j.PatternLayout
Step 3: Log4jJDBCExample to configure log4j and ites priority level message
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public class Log4jJDBCExample
{
static Logger log = Logger.getLogger(Log4jJDBCExample.class);
public static void main(String[] args)
{
PropertyConfigurator.configure("log4j.properties");
log.debug("Sample debug message");
log.info("Sample info message");
log.error("Sample error message");
log.fatal("Sample fatal message");
}
}
Step 4: Create the table in database and test the application
Create the database table LOGS, in schema test.
CREATE TABLE LOGS
(
USER_ID VARCHAR(20) NOT NULL,
DATED DATETIME NOT NULL,
LOGGER VARCHAR(50) NOT NULL,
LEVEL VARCHAR(10) NOT NULL,
MESSAGE VARCHAR(1000) NOT NULL
);
Explination:
log4j.appender.sql.sql=INSERT INTO LOGS VALUES ('%x', now() ,'%C','%p','%m')
Here now()--> inserts currentdate
%c--> Class Name
%p--> Priority (level)
%m--> Message
結果:
これは私がちょうどLogback + SLF4J実装で、探しています正確に何であります! – DerCaptain