日志文件为了方便统计所以就存放在了mysql里,这里只是根据官方的文档做了一个demo。
依赖这几个jar:
log4j-over-slf4j-1.7.7.jar
logback-core-1.1.2.jar
slf4j-api-1.7.7.jar
logback-classic-1.1.2.jar
mysql-connector-java-5.1.33-bin.jar
src根目录放logblock.xml
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<appender name="DB" class="ch.qos.logback.classic.db.DBAppender">
<connectionSource
class="ch.qos.logback.core.db.DriverManagerConnectionSource">
<driverClass>com.mysql.jdbc.Driver</driverClass>
<url>jdbc:mysql://localhost:3306/log</url>
<user>user</user>
<password>123</password>
</connectionSource>
</appender>
<root level="ALL">
<appender-ref ref="DB" />
</root>
</configuration>
现在开始写java测试文件喽
package com.log;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MainDemo {
final static Logger logger = LoggerFactory.getLogger(MainDemo.class.getName());
public static void main(String[] args) {
logger.debug("aaaaaa");
logger.info("aaaaaa");
}
这里只输出了debug和info
然后把下面的sql在mysql里执行
DROP TABLE IF EXISTS `logging_event`;
CREATE TABLE `logging_event` (
`timestmp` LONG NOT NULL,
`formatted_message` TEXT NOT NULL,
`logger_name` VARCHAR(255) NOT NULL,
`level_string` VARCHAR(255) NOT NULL,
`thread_name` VARCHAR(255) NOT NULL,
`reference_flag` SMALLINT NOT NULL,
`caller_filename` VARCHAR(255) NOT NULL,
`arg0` VARCHAR(255),
`arg1` VARCHAR(255),
`arg2` VARCHAR(255),
`arg3` VARCHAR(255),
`caller_class` VARCHAR(255) NOT NULL,
`caller_method` VARCHAR(255) NOT NULL,
`caller_line` VARCHAR(255) NOT NULL,
`event_id` INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (event_id)
) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
DROP TABLE IF EXISTS `logging_event_property`;
CREATE TABLE `logging_event_property` (
`event_id` INT NOT NULL,
`mapped_key` VARCHAR(255) NOT NULL,
`mapped_value` TEXT NOT NULL
DROP TABLE IF EXISTS `logging_event_exception`;
CREATE TABLE `logging_event_exception` (
`i` SMALLINT NOT NULL,
`trace_line` VARCHAR(255) NOT NULL
运行java文件就ok了